public interface GreetingService { void sayHello(String name); } public class GreetingServiceImpl implements GreetingService { @Override public void sayHello(String name) { System.out.println("Hello, " + name + "!"); } } import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceRegistration; public class Activator implements BundleActivator { private ServiceRegistration<GreetingService> registration; @Override public void start(BundleContext context) { GreetingService greetingService = new GreetingServiceImpl(); registration = context.registerService(GreetingService.class, greetingService, null); } @Override public void stop(BundleContext context) { registration.unregister(); } } import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; import org.osgi.util.tracker.ServiceTracker; public class GreetingClient { private ServiceTracker<GreetingService, GreetingService> serviceTracker; public void start(BundleContext context) { serviceTracker = new ServiceTracker<>(context, GreetingService.class, null); serviceTracker.open(); GreetingService greetingService = serviceTracker.getService(); greetingService.sayHello("John"); } public void stop() { serviceTracker.close(); } }


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