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à 1 trong OSGi nó cũng được Gọi là 1 trong những Bundle. Bây tiếng bọn họ vẫn khai báo MathConsumer thực hiện một số Bundle khác mục tiêu nhằm hoàn toàn có thể chạy MathConsumer trong tương lai.

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


org.eclipse.osgiorg.eclipse.equinox.consoleorg.apache.felix.gogo.commandorg.apache.felix.gogo.runtimeorg.apabít.felix.gogo.shell

*

*

*

*

*

Nlỗi hình minc họa họ thấy ID của OSGi MathConsumer là 2, sử 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ý kết hình thức MathService nhằm những OSGi khác có thể sử dụng. Việc này được thực hiện vào Activator của OSGi MathService.

Xem thêm: Getelementbyid Là Gì - Sự Khác Nhau Giữa $('#


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.utilsorg.o7planning.tutorial.helloosgi.mathservice.OSGi giống hệt như một chiếc hộp đóng, các OSGi không giống chỉ hoàn toàn có thể sử dụng các class/interface của OSGi này giả dụ nó nằm trong số package được xuất khẩu ra phía bên ngoài.

Xem thêm: Candy Crush Saga Có Bao Nhiêu Level 65 Trong Candy Crush Lại Khó Đến Vậy?


OSGi MathConsumer chỉ hoàn toàn có thể sử dụng các class/interface ở trong các package cơ mà MathService xuất khẩu.