// Interface defining module functionality
public interface MyModule {
void doSomething();
}
// Module implementation
public class MyModuleImpl implements MyModule {
@Override
public void doSomething() {
System.out.println("Doing something in MyModuleImpl");
}
}
// Activator class for module
public class Activator implements BundleActivator {
@Override
public void start(BundleContext context) throws Exception {
// Register module as a service
context.registerService(MyModule.class.getName(), new MyModuleImpl(), null);
}
@Override
public void stop(BundleContext context) throws Exception {
// Unregister module service
context.unregisterService(MyModule.class.getName());
}
}
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: MyModule
Bundle-SymbolicName: com.example.mymodule
Bundle-Version: 1.0.0
Bundle-Activator: com.example.mymodule.Activator
Import-Package: org.osgi.framework