Bundle-SymbolicName: HelloService Import-Package: org.osgi.framework;version="1.7.0" Export-Package: com.example.service;version="1.0.0" Bundle-SymbolicName: Client Import-Package: org.osgi.framework;version="1.7.0", com.example.service;version="[1.0.0,2.0.0)" package com.example.service; public interface HelloService { void sayHello(String name); } package com.example.service; public class HelloServiceImpl implements HelloService { public void sayHello(String name) { System.out.println("Hello, " + name + "!"); } } package com.example.client; import com.example.service.HelloService; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; import org.osgi.util.tracker.ServiceTracker; public class Client { private ServiceTracker<HelloService, HelloService> serviceTracker; public void start(BundleContext context) { serviceTracker = new ServiceTracker<>(context, HelloService.class, null); serviceTracker.open(); HelloService helloService = serviceTracker.getService(); helloService.sayHello("World"); } public void stop() { serviceTracker.close(); } }


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