|
View:
New views
5 Messages
—
Rating Filter:
Alert me
|
|
|
Bundle unsatisfied when using Declarative ServicesHello,
I've recently converted from using Activators to Declarative Services. I've run into an issue where all dependent services are satisfied, but the overall state of the component is still unsatisfied. Any idea how it could get into this state? Here's the output of 'scr info': -> scr info 9 ID: 9 Name: MyBundle Bundle: com.myco.MyBundle (41) State: unsatisifed Default State: enabled Activation: immediate Services: com.myco.MyBundleService Service Type: service Reference: logService Satisfied: satisfied Service Name: org.osgi.service.log.LogService Multiple: single Optional: mandatory Policy: static Reference: persistenceService Satisfied: satisfied Service Name: com.myco.persistence.PersistenceService Multiple: single Optional: mandatory Policy: static Reference: httpService Satisfied: satisfied Service Name: org.osgi.service.http.HttpService Multiple: single Optional: mandatory Policy: static Properties: component.id = 9 component.name = MyBundle service.pid = MyBundle And here's the scr-plugin generated serviceComponents.xml file: <?xml version="1.0" encoding="UTF-8"?> <components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0"> <scr:component enabled="true" immediate="true" name="MyBundle"> <implementation class="com.myco.impl.MyBundleServiceImpl"/> <service servicefactory="false"> <provide interface="com.myco.MyBundleService"/> </service> <property name="service.pid" value="MyBundle"/> <reference name="logService" interface="org.osgi.service.log.LogService" cardinality="1..1" policy="static" bind="bindLogService" unbind="unbindLogService"/> <reference name="persistenceService" interface="com.myco.persistence.PersistenceService" cardinality="1..1" policy="static" bind="bindPersistenceService" unbind="unbindPersistenceService"/> <reference name="httpService" interface="org.osgi.service.http.HttpService" cardinality="1..1" policy="static" bind="bindHttpService" unbind="unbindHttpService"/> </scr:component> </components> Thanks for your help. Mohnish |
|
|
Re: Bundle unsatisfied when using Declarative ServicesHi,
Are you using the latest release of Apache Felix Declarative Services ? In this case, you might be hit by FELIX-1178 [1] Your options are reverting to the previous release or upgrading to a trunk build. We are close to a new release of SCR (we have a small number of issues open). Regards Felix [1] https://issues.apache.org/jira/browse/FELIX-1178 mohn3310 schrieb: > Hello, > > I've recently converted from using Activators to Declarative Services. I've > run into an issue where all dependent services are satisfied, but the > overall state of the component is still unsatisfied. Any idea how it could > get into this state? > > Here's the output of 'scr info': > > -> scr info 9 > ID: 9 > Name: MyBundle > Bundle: com.myco.MyBundle (41) > State: unsatisifed > Default State: enabled > Activation: immediate > Services: com.myco.MyBundleService > Service Type: service > Reference: logService > Satisfied: satisfied > Service Name: org.osgi.service.log.LogService > Multiple: single > Optional: mandatory > Policy: static > Reference: persistenceService > Satisfied: satisfied > Service Name: com.myco.persistence.PersistenceService > Multiple: single > Optional: mandatory > Policy: static > Reference: httpService > Satisfied: satisfied > Service Name: org.osgi.service.http.HttpService > Multiple: single > Optional: mandatory > Policy: static > Properties: > component.id = 9 > component.name = MyBundle > service.pid = MyBundle > > And here's the scr-plugin generated serviceComponents.xml file: > > <?xml version="1.0" encoding="UTF-8"?> > <components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0"> > <scr:component enabled="true" immediate="true" name="MyBundle"> > <implementation class="com.myco.impl.MyBundleServiceImpl"/> > <service servicefactory="false"> > <provide interface="com.myco.MyBundleService"/> > </service> > <property name="service.pid" value="MyBundle"/> > <reference name="logService" > interface="org.osgi.service.log.LogService" cardinality="1..1" > policy="static" bind="bindLogService" unbind="unbindLogService"/> > <reference name="persistenceService" > interface="com.myco.persistence.PersistenceService" cardinality="1..1" > policy="static" bind="bindPersistenceService" > unbind="unbindPersistenceService"/> > <reference name="httpService" > interface="org.osgi.service.http.HttpService" cardinality="1..1" > policy="static" bind="bindHttpService" unbind="unbindHttpService"/> > </scr:component> > </components> > > Thanks for your help. > > Mohnish --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@... For additional commands, e-mail: users-help@... |
|
|
Re: Bundle unsatisfied when using Declarative ServicesHi Felix,
Thanks for your response. We're on version 1.0.8 of the "Apache Felix Declarative Services" bundle. I reverted to version 1.0.6 and am still running into the same issue. The strange thing is we have two bundles with pretty much the extact structure (using DS) and one of them works whereas this one doesn't. I've put log statements to std out in the bind/unbind methods and I never see it executed in this one, but in the other one I do. And this is consistent behaviour. Any other ideas as to why it might be behaving this way? I've doubled checked to see if I've missed anything, but nothing obvious is showing up. Thanks, Mohnish
|
|
|
Re: Bundle unsatisfied when using Declarative ServicesHi,
Just thought to post an update on this. It does look like a Felix specific issue. Tested with both Declarative Service bundle versions - 1.0.6 and 1.0.8. Both report the bundles to be in the 'unsatisfied' state. I then tried this on equinox and it seems to work as expected. I'll give it a shot with the scr v1.2.0 when it's out. Thanks for your help. Mohnish
|
|
|
Re: Bundle unsatisfied when using Declarative ServicesHi,
Just a follow up to the list ... Mohnish and I have been trying to track this issue off list. After he cleared his bundle cache and restarted the framework, the issue went away. Its hard to tell, what was going on there, maybe an old bundle lying around or such. For now the problem seems to have gone .. Regards Felix mohn3310 schrieb: > Hello, > > I've recently converted from using Activators to Declarative Services. I've > run into an issue where all dependent services are satisfied, but the > overall state of the component is still unsatisfied. Any idea how it could > get into this state? > > Here's the output of 'scr info': > > -> scr info 9 > ID: 9 > Name: MyBundle > Bundle: com.myco.MyBundle (41) > State: unsatisifed > Default State: enabled > Activation: immediate > Services: com.myco.MyBundleService > Service Type: service > Reference: logService > Satisfied: satisfied > Service Name: org.osgi.service.log.LogService > Multiple: single > Optional: mandatory > Policy: static > Reference: persistenceService > Satisfied: satisfied > Service Name: com.myco.persistence.PersistenceService > Multiple: single > Optional: mandatory > Policy: static > Reference: httpService > Satisfied: satisfied > Service Name: org.osgi.service.http.HttpService > Multiple: single > Optional: mandatory > Policy: static > Properties: > component.id = 9 > component.name = MyBundle > service.pid = MyBundle > > And here's the scr-plugin generated serviceComponents.xml file: > > <?xml version="1.0" encoding="UTF-8"?> > <components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0"> > <scr:component enabled="true" immediate="true" name="MyBundle"> > <implementation class="com.myco.impl.MyBundleServiceImpl"/> > <service servicefactory="false"> > <provide interface="com.myco.MyBundleService"/> > </service> > <property name="service.pid" value="MyBundle"/> > <reference name="logService" > interface="org.osgi.service.log.LogService" cardinality="1..1" > policy="static" bind="bindLogService" unbind="unbindLogService"/> > <reference name="persistenceService" > interface="com.myco.persistence.PersistenceService" cardinality="1..1" > policy="static" bind="bindPersistenceService" > unbind="unbindPersistenceService"/> > <reference name="httpService" > interface="org.osgi.service.http.HttpService" cardinality="1..1" > policy="static" bind="bindHttpService" unbind="unbindHttpService"/> > </scr:component> > </components> > > Thanks for your help. > > Mohnish --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@... For additional commands, e-mail: users-help@... |
| Free embeddable forum powered by Nabble | Forum Help |