OSGI的声明式服务(Declare service)
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="JpaConnectProperty.Instance">
<implementation class="com.quantanetwork.cms.cmlp.comm.impl.JpaConnectPropertyImpl"/>
<service>
<provide interface="com.quantanetwork.cms.cmlp.comm.JpaConnectProperty"/>
</service>
<reference bind="setDataSourceFactory" cardinality="1..1" interface="com.quantanetwork.ds.DataSourceFactory" name="DataSourceFactory.Instance" policy="dynamic" unbind="unsetDataSourceFactory"/>
<properties entry="OSGi-INF/JpaConnectProperty.properties"/>
</scr:component>
第一句,组建声明以及其中的一些属性
第二句,实例,类似于new一个类,生成这样一个实例。
第三句,服务声明,表示这个类,他是实现了这个接口的,同时,他对外提供服务,一旦有调用继承自这个interface服务的实例的方法产生时,它愿意提供服务。
第四句,引用、方法,类似于类.方法名,这个方法是这个实例中的方法,一旦有实现自这个接口的实例产生时,就调用这个方法,一旦服务停止,那么执行unbind的方法