Bundle-SymbolicName: com.example.mybundle Bundle-Version: 1.0.0 Import-Package: com.example.myservice Export-Package: com.example.mybundle Bundle-Activator: com.example.mybundle.Activator public class MyServiceImplementation implements MyService { public void doSomething() { System.out.println("Doing something..."); } } public class Activator implements BundleActivator { public void start(BundleContext context) throws Exception { context.registerService(MyService.class.getName(), new MyServiceImplementation(), null); } public void stop(BundleContext context) throws Exception { } } public class Consumer { private MyService myService; public void bindMyService(MyService service) { this.myService = service; myService.doSomething(); } public void unbindMyService(MyService service) { } } public class Activator implements BundleActivator { private ServiceTracker<MyService, Consumer> serviceTracker; public void start(BundleContext context) throws Exception { serviceTracker = new ServiceTracker<>(context, MyService.class, new Consumer()); serviceTracker.open(); } public void stop(BundleContext context) throws Exception { serviceTracker.close(); } }


上一篇:
下一篇:
切换中文