public interface CalculatorService {
int add(int a, int b);
}
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;
public class CalculatorServiceImpl implements CalculatorService, BundleActivator {
private ServiceRegistration<CalculatorService> serviceRegistration;
@Override
public void start(BundleContext context) throws Exception {
CalculatorService calculatorService = new CalculatorServiceImpl();
serviceRegistration = context.registerService(CalculatorService.class, calculatorService, null);
}
@Override
public void stop(BundleContext context) throws Exception {
serviceRegistration.unregister();
}
@Override
public int add(int a, int b) {
return a + b;
}
}
Bundle-Name: CalculatorService
Bundle-SymbolicName: com.example.calculator
Bundle-Version: 1.0.0
Import-Package: org.osgi.framework
Service-Component: OSGI-INF/calculator.xml