import javax.naming.*;
public class ServiceConsumer {
public static void main(String[] args) {
try {
Context ctx = new InitialContext();
Service service = (Service) ctx.lookup("osgi:service/MyService");
service.doSomething();
ctx.close();
} catch (NamingException e) {
e.printStackTrace();
}
}
}
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: MyService
Bundle-SymbolicName: com.example.myservice
Bundle-Version: 1.0.0
Bundle-Activator: com.example.myservice.Activator
Service-Component: OSGI-INF/my-service.xml
<?xml version="1.0" encoding="UTF-8"?>
<component name="com.example.myservice.MyService" xmlns="http://www.osgi.org/xmlns/scr/v1.3.0">
<implementation class="com.example.myservice.MyServiceImpl"/>
<service>
<provide interface="com.example.myservice.Service"/>
</service>
</component>