Hi,

Have you tried to add <cm:default-properties> into <cm:property-placeholder> ? 
for example,

    <cm:property-placeholder persistent-id="org.opennaas" 
update-strategy="reload">
        <cm:default-properties>
            <cm:property name="abc" value="......"/>
            <cm:property name="efg" value="......."/>
        </cm:default-properties>
    </cm:property-placeholder>

Regards.
Xilai
________________________________
发件人: Adrián Roselló Rey [adrian.rose...@i2cat.net]
发送时间: 2014年4月1日 22:33
到: user@karaf.apache.org
主题: services published and unpublished in karaf 3.0.0

Hi all!

I'm upgrading my software, which was deployed in top of Karaf 2.2.11, to Karaf 
3.0.0 version. I'm almost finished with the upgrade, but I'm having some 
strange problems when starting specific bundles.

I publish my OSGI services via blueprint. I also use dOSGI to expose my 
services through WS like this:

<bean id="vcpeNetworkManager" 
class="org.opennaas.extensions.vcpe.manager.VCPENetworkManager"
    destroy-method="destroy"/>
<service ref="vcpeNetworkManager" 
interface="org.opennaas.extensions.vcpe.manager.IVCPENetworkManager">
        <service-properties>
            <!-- Rest -->
            <entry key="service.exported.interfaces" value="*"/>
            <entry key="service.exported.configs" 
value="org.apache.cxf.rs<http://org.apache.cxf.rs>"/>
            <entry key="service.exported.intents" value="HTTP"/>
            <entry key="org.apache.cxf.rs.httpservice.context" 
value="${ws.rest.url}/vcpenetwork"/>
            <entry key="org.apache.cxf.rs.address" value="/"/>
            <entry key="org.apache.cxf.httpservice.requirefilter" value="true"/>
        </service-properties>
</service>

In order to get the value of the ${ws.rest.url} property, I added the 
property-placeholder feature provided by blueprint-cm:

<cm:property-placeholder persistent-id="org.opennaas" update-strategy="reload" 
/>


It works perfectly, but when I install this bundle (and all of them declaring 
this placeholder) the services declared in the blueprint are published are 
unpublished rrepeatedly for a while. For example, here you can find  an extract 
of my log file:


16:26:16,246 INFO  | xtender: 3 | .manager.VCPENetworkManager | Starting 
VCPENetworkManager
16:26:16,256 INFO  | hread-3624 | .manager.VCPENetworkManager | Stopping 
VCPENetworkManager
16:26:16,279 INFO  | xtender: 1 | .manager.VCPENetworkManager | Starting 
VCPENetworkManager
16:26:16,290 INFO  | hread-3626 | .manager.VCPENetworkManager | Stopping 
VCPENetworkManager
16:26:16,306 INFO  | xtender: 2 | .manager.VCPENetworkManager | Starting 
VCPENetworkManager
16:26:16,316 INFO  | hread-3628 | .manager.VCPENetworkManager | Stopping 
VCPENetworkManager
16:26:16,335 INFO  | xtender: 3 | .manager.VCPENetworkManager | Starting 
VCPENetworkManager
16:26:16,342 INFO  | hread-3630 | .manager.VCPENetworkManager | Stopping 
VCPENetworkManager
16:26:16,378 INFO  | xtender: 1 | .manager.VCPENetworkManager | Starting 
VCPENetworkManager
16:26:16,396 INFO  | hread-3632 | .manager.VCPENetworkManager | Stopping 
VCPENetworkManager

I suggest it has something to do with blueprint-cm because I see this behaviour 
only in bundles with the property-placeholder declaration in blueprint.

Could it be possible? If not, any idea on what could be happening?

Thanks!

--
Adrián Roselló Rey
Distributed Applications and Networks Area (DANA)
i2CAT Foundation, Barcelona, Spain

Reply via email to