@Component @Service(CalculatorService.class) public class CalculatorServiceImpl implements CalculatorService { private Logger logger = LoggerFactory.getLogger(CalculatorServiceImpl.class); @Reference private AdditionService additionService; @Reference private SubtractionService subtractionService; @Activate protected void activate() { logger.info("CalculatorService activated."); } @Deactivate protected void deactivate() { logger.info("CalculatorService deactivated."); } @Modified protected void modified() { logger.info("CalculatorService modified."); } @Override public int add(int a, int b) { return additionService.add(a, b); } @Override public int subtract(int a, int b) { return subtractionService.subtract(a, b); } } <dependencies> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.scr</artifactId> <version>2.1.0</version> </dependency> </dependencies> Service-Component: OSGI-INF/*.xml <?xml version="1.0" encoding="UTF-8"?> <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.3.0" name="com.example.CalculatorServiceImpl"> <implementation class="com.example.CalculatorServiceImpl"/> <service> <provide interface="com.example.CalculatorService"/> </service> <reference name="additionService" interface="com.example.AdditionService" cardinality="1..1" policy="static" bind="setAdditionService" unbind="unsetAdditionService"/> <reference name="subtractionService" interface="com.example.SubtractionService" cardinality="1..1" policy="static" bind="setSubtractionService" unbind="unsetSubtractionService"/> </scr:component>


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