OSGI LÀ GÌ

package org.o7planning.tutorial.helloosgi.mathconsumer;import org.osgi.framework.BundleActivator;import org.osgi.framework.BundleContext;public class Activator implements BundleActivator private static BundleContext context; static BundleContext getContext() return context; public void start(BundleContext bundleContext) throws Exception Activator.context = bundleContext; System.out.println("MathConsumer Starting..."); System.out.println("MathConsumer Started"); public void stop(BundleContext bundleContext) throws Exception Activator.context = null; System.out.println("MathConsumer Stopped");
MathConsumer là một trong những OSGi nó cũng được gọi là một trong Bundle. Bây tiếng chúng ta sẽ khai báo MathConsumer sử dụng một vài Bundle không giống mục tiêu nhằm rất có thể chạy MathConsumer về sau.

Bạn đang xem: Osgi là gì


org.eclipse.osgiorg.eclipse.equinox.consoleorg.apache.felix.gogo.commandorg.apache.felix.gogo.runtimeorg.apache.felix.gogo.shell
*

*

*

*

*

Nlỗi hình minh họa chúng ta thấy ID của OSGi MathConsumer là 2, áp dụng lệnh "stop" để dừng lại Bundle này.
package org.o7planning.tutorial.helloosgi.mathservice;public interface MathService public int sum(int a, int b);
package org.o7planning.tutorial.helloosgi.mathservice.impl;import org.o7planning.tutorial.helloosgi.mathservice.MathService;public class MathServiceImpl implements MathService {
package org.o7planning.tutorial.helloosgi.utils;public class MathUtils public static int minus(int a, int b) return a- b;
Đăng ký hình thức dịch vụ MathService để các OSGi khác có thể thực hiện. Việc này được triển khai vào Activator của OSGi MathService.

Xem thêm: Từ Điển Anh Việt "Data Flow Diagram ( Dfd Là Gì, Sơ Đồ Luồng Dữ Liệu (Data Flow Diagram


package org.o7planning.tutorial.helloosgi;import org.o7planning.tutorial.helloosgi.mathservice.MathService;import org.o7planning.tutorial.helloosgi.mathservice.impl.MathServiceImpl;import org.osgi.framework.BundleActivator;import org.osgi.framework.BundleContext;public class Activator implements BundleActivator private static BundleContext context; static BundleContext getContext() return context; public void start(BundleContext bundleContext) throws Exception Activator.context = bundleContext; System.out.println("Registry Service MathService..."); this.registryMathService(); System.out.println("OSGi MathService Started"); private void registryMathService() MathService service = new MathServiceImpl(); context.registerService(MathService.class, service, null); public void stop(BundleContext bundleContext) throws Exception Activator.context = null; System.out.println("OSGi MathService Stopped!");
Cấu hình nhằm xuất khẩu (export) 2 packages org.o7planning.tutorial.helloosgi.utils với org.o7planning.tutorial.helloosgi.mathservice.OSGi y hệt như một chiếc hộp đóng góp, những OSGi khác chỉ có thể sử dụng các class/interface của OSGi này trường hợp nó ở trong những package được xuất khẩu ra bên ngoài.
OSGi MathConsumer chỉ rất có thể thực hiện các class/interface ở trong những package nhưng mà MathService xuất khẩu.