Hello,

No, I do not, but I also tried it with that without any success. Nor do I
with the 'refresh' Equinox console command. I always get the same exception
stack...

Actually what I try to do is to provide a proof-of-concept Equinox
application that is dynamically/at-runtime extendable (through service
provider components) without the need to stop/restart the base application.
But it's really strange that I don't have any problem with my bundles in
Apache Felix and SCR.

Perhaps do you know some other working solution for the requirement?

Many thanks, Csaba.


2012/2/8 Alex Blewitt <[email protected]>

> Do you have an optional import for the package name?
>
> If you do, and that bundle starts first, then it won't be wired to the
> package. If you start up the bundle containing the package first, then
> start up the provider, it will resolve the list of optional imports. Once
> started, even if an optional package is added later it's not added to the
> existing running bundle's package list. If you do a 'refresh' on the
> service provider, does the problem go away?
>
> Alex
>
> On 8 Feb 2012, at 09:38, Csaba Szucs wrote:
>
> > Hello Guys,
> >
> > I have an Equinox OSGi application using Declarative Services with 3
> plugins:
> > -a service interface plugin
> > -a service provider component
> > -a service consumer component (cardinality: 0..n, policy: dynamic)
> >
> > Framework is launched.
> > id    State Bundle
> > 0     ACTIVE org.eclipse.osgi_3.8.0.v20110908-1857
> > 3     ACTIVE osgi.example.service.consumer_1.0.0.qualifier
> > 4     ACTIVE org.eclipse.osgi.services_3.3.0.v20110711-1243
> > 5     ACTIVE org.eclipse.equinox.util_1.0.300.v20110502
> > 6     ACTIVE org.eclipse.equinox.ds_1.3.100.v20110705
> > 10    ACTIVE osgi.example.service_interface_1.0.0.qualifier
> > 11    ACTIVE osgi.example.service.implementation_1.0.0.qualifier
> >
> > In case the application is launched, the service consumer is triggered.
> >
> > But in case the service provider is installed and started only after the
> application has launched, SCR fails to load service implementation class.
> See exception stack below!
> >
> > What is the problem with this runtime/post-application deployment of the
> service component?
> >
> > Please note:
> > With Apache Felix and SCR, there is no problem with the runtime
> deployment at all.
> >
> > Many thanks, Csaba.
> >
> > Framework is launched.
> > id    State Bundle
> > 0     ACTIVE org.eclipse.osgi_3.8.0.v20110908-1857
> > 3     ACTIVE osgi.example.service.consumer_1.0.0.qualifier
> > 4     ACTIVE org.eclipse.osgi.services_3.3.0.v20110711-1243
> > 5     ACTIVE org.eclipse.equinox.util_1.0.300.v20110502
> > 6     ACTIVE org.eclipse.equinox.ds_1.3.100.v20110705
> > 10    ACTIVE osgi.example.service_interface_1.0.0.qualifier
> >
> > osgi> install
> file:/home/csaba/eclipse_distros/Indigo/workspace/osgi.example.service.implementation
> > Bundle id is 11.
> >
> > id    State Bundle
> > 11    INSTALLED osgi.example.service.implementation_1.0.0.qualifier
> >
> > osgi> start 11
> >
> > Here SCR throws an exception:
> >
> >
> > !SESSION 2012-02-06 21:01:12.378
> -----------------------------------------------
> > eclipse.buildId=unknown
> > java.version=1.6.0_20
> > java.vendor=Sun Microsystems Inc.
> > BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
> > Command-line arguments: -dev
> file:/home/csaba/eclipse_distros/Indigo/workspace/.metadata/.plugins/org.eclipse.pde.core/New_configuration
> (1)/dev.properties -os linux -ws gtk -arch x86 -consoleLog -console
> -consolelog
> >
> > !ENTRY org.eclipse.equinox.ds 4 0 2012-02-06 21:03:11.214
> > !MESSAGE Exception occurred while creating new instance of component
> Component[
> > name = osgi.example.service.implementation
> > activate = activate
> > deactivate = deactivate
> > modified =
> > configuration-policy = optional
> > factory = null
> > autoenable = true
> > immediate = false
> > implementation = osgi.example.service.implementation.ServiceImpl
> > state = Unsatisfied
> > properties =
> > serviceFactory = false
> > serviceInterface = [osgi.example.service_interface.Service]
> > references = null
> > located in bundle = osgi.example.service.implementation_1.0.0.qualifier
> [13]
> > ]
> > !STACK 0
> > java.lang.ClassNotFoundException:
> osgi.example.service.implementation.ServiceImpl
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
> > at
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
> > at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345)
> > at
> org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
> > at
> org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1208)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponent.createInstance(ServiceComponent.java:480)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.createInstance(ServiceComponentProp.java:271)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:332)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:588)
> > at
> org.eclipse.equinox.internal.ds.ServiceReg.getService(ServiceReg.java:53)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceUse$1.run(ServiceUse.java:141)
> > at java.security.AccessController.doPrivileged(Native Method)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceUse.getService(ServiceUse.java:139)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:468)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:467)
> > at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.getService(BundleContextImpl.java:594)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.getService(InstanceProcess.java:686)
> > at
> org.eclipse.equinox.internal.ds.model.ComponentReference.getMethod(ComponentReference.java:111)
> > at
> org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:322)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:441)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.dynamicBind(InstanceProcess.java:415)
> > at
> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:319)
> > at
> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:221)
> > at
> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:104)
> > at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
> > at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
> > at
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
> > at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.registerService(InstanceProcess.java:504)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:259)
> > at
> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:441)
> > at
> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:213)
> > at
> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:800)
> > at
> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:767)
> > at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
> > at
> org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70)
> >
> > !ENTRY org.eclipse.equinox.ds 4 0 2012-02-06 21:03:11.216
> > !MESSAGE Exception occurred while creating new instance of component
> Component[
> > name = osgi.example.service.implementation
> > activate = activate
> > deactivate = deactivate
> > modified =
> > configuration-policy = optional
> > factory = null
> > autoenable = true
> > immediate = false
> > implementation = osgi.example.service.implementation.ServiceImpl
> > state = Unsatisfied
> > properties =
> > serviceFactory = false
> > serviceInterface = [osgi.example.service_interface.Service]
> > references = null
> > located in bundle = osgi.example.service.implementation_1.0.0.qualifier
> [13]
> > ]
> > !STACK 0
> > java.lang.ClassNotFoundException:
> osgi.example.service.implementation.ServiceImpl
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
> > at
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
> > at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345)
> > at
> org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
> > at
> org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1208)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponent.createInstance(ServiceComponent.java:480)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.createInstance(ServiceComponentProp.java:271)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:332)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:588)
> > at
> org.eclipse.equinox.internal.ds.ServiceReg.getService(ServiceReg.java:53)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceUse$1.run(ServiceUse.java:141)
> > at java.security.AccessController.doPrivileged(Native Method)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceUse.getService(ServiceUse.java:139)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:468)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:467)
> > at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.getService(BundleContextImpl.java:594)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.getService(InstanceProcess.java:686)
> > at
> org.eclipse.equinox.internal.ds.model.ComponentReference.getMethod(ComponentReference.java:111)
> > at
> org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:322)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:441)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.dynamicBind(InstanceProcess.java:415)
> > at
> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:319)
> > at
> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:221)
> > at
> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:104)
> > at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
> > at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
> > at
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
> > at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.registerService(InstanceProcess.java:504)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:259)
> > at
> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:441)
> > at
> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:213)
> > at
> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:800)
> > at
> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:767)
> > at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
> > at
> org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70)
> >
> > !ENTRY org.eclipse.osgi 4 0 2012-02-06 21:03:11.220
> > !MESSAGE An unexpected runtime error has occurred.
> > !STACK 0
> > org.osgi.service.component.ComponentException: Exception occurred while
> creating new instance of component Component[
> > name = osgi.example.service.implementation
> > activate = activate
> > deactivate = deactivate
> > modified =
> > configuration-policy = optional
> > factory = null
> > autoenable = true
> > immediate = false
> > implementation = osgi.example.service.implementation.ServiceImpl
> > state = Unsatisfied
> > properties =
> > serviceFactory = false
> > serviceInterface = [osgi.example.service_interface.Service]
> > references = null
> > located in bundle = osgi.example.service.implementation_1.0.0.qualifier
> [13]
> > ]
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponent.createInstance(ServiceComponent.java:482)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.createInstance(ServiceComponentProp.java:271)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:332)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:588)
> > at
> org.eclipse.equinox.internal.ds.ServiceReg.getService(ServiceReg.java:53)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceUse$1.run(ServiceUse.java:141)
> > at java.security.AccessController.doPrivileged(Native Method)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceUse.getService(ServiceUse.java:139)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:468)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:467)
> > at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.getService(BundleContextImpl.java:594)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.getService(InstanceProcess.java:686)
> > at
> org.eclipse.equinox.internal.ds.model.ComponentReference.getMethod(ComponentReference.java:111)
> > at
> org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:322)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:441)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.dynamicBind(InstanceProcess.java:415)
> > at
> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:319)
> > at
> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:221)
> > at
> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:104)
> > at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
> > at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
> > at
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
> > at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.registerService(InstanceProcess.java:504)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:259)
> > at
> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:441)
> > at
> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:213)
> > at
> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:800)
> > at
> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:767)
> > at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
> > at
> org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70)
> > Caused by: java.lang.ClassNotFoundException:
> osgi.example.service.implementation.ServiceImpl
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
> > at
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
> > at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345)
> > at
> org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
> > at
> org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1208)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponent.createInstance(ServiceComponent.java:480)
> > ... 34 more
> >
> > !ENTRY osgi.example.service.implementation 4 0 2012-02-06 21:03:11.223
> > !MESSAGE FrameworkEvent ERROR
> > !STACK 0
> > org.osgi.framework.ServiceException: Exception in
> org.eclipse.equinox.internal.ds.ServiceReg.getService()
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceUse.getService(ServiceUse.java:151)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:468)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:467)
> > at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.getService(BundleContextImpl.java:594)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.getService(InstanceProcess.java:686)
> > at
> org.eclipse.equinox.internal.ds.model.ComponentReference.getMethod(ComponentReference.java:111)
> > at
> org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:322)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:441)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.dynamicBind(InstanceProcess.java:415)
> > at
> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:319)
> > at
> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:221)
> > at
> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:104)
> > at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
> > at
> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
> > at
> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
> > at
> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.registerService(InstanceProcess.java:504)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:259)
> > at
> org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:441)
> > at
> org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:213)
> > at
> org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:800)
> > at
> org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:767)
> > at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
> > at
> org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:70)
> > Caused by: org.osgi.service.component.ComponentException: Exception
> occurred while creating new instance of component Component[
> > name = osgi.example.service.implementation
> > activate = activate
> > deactivate = deactivate
> > modified =
> > configuration-policy = optional
> > factory = null
> > autoenable = true
> > immediate = false
> > implementation = osgi.example.service.implementation.ServiceImpl
> > state = Unsatisfied
> > properties =
> > serviceFactory = false
> > serviceInterface = [osgi.example.service_interface.Service]
> > references = null
> > located in bundle = osgi.example.service.implementation_1.0.0.qualifier
> [13]
> > ]
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponent.createInstance(ServiceComponent.java:482)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.createInstance(ServiceComponentProp.java:271)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:332)
> > at
> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:588)
> > at
> org.eclipse.equinox.internal.ds.ServiceReg.getService(ServiceReg.java:53)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceUse$1.run(ServiceUse.java:141)
> > at java.security.AccessController.doPrivileged(Native Method)
> > at
> org.eclipse.osgi.internal.serviceregistry.ServiceUse.getService(ServiceUse.java:139)
> > ... 27 more
> > Caused by: java.lang.ClassNotFoundException:
> osgi.example.service.implementation.ServiceImpl
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
> > at
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
> > at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
> > at
> org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345)
> > at
> org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
> > at
> org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1208)
> > at
> org.eclipse.equinox.internal.ds.model.ServiceComponent.createInstance(ServiceComponent.java:480)
> > ... 34 more
> >
> > !ENTRY osgi.example.service.consumer 2 0 2012-02-06 21:03:11.228
> > !MESSAGE [SCR] Could not get the service object relevant to the
> reference. One possible reason is a circularity problem. Another possible
> reason is that BundleContext.getService() returns null.
> > Details:
> > Problematic reference = Reference[name = Service, interface =
> osgi.example.service_interface.Service, policy = dynamic, cardinality =
> 0..n, target = null, bind = setService, unbind = unsetService]
> > of service component = osgi.example.service.consumer
> > component implementation class =
> osgi.example.service.consumer.ServiceConsumer
> > located in bundle with symbolic name = osgi.example.service.consumer
> > bundle location = initial@reference
> :file:../../../../osgi.example.service.consumer/
> >
> > !ENTRY osgi.example.service.consumer 2 0 2012-02-06 21:03:11.229
> > !MESSAGE [SCR] ComponentReference.bind(): bind method 'setService' is
> not found or it is not accessible!
> > Details:
> > Problematic reference = Reference[name = Service, interface =
> osgi.example.service_interface.Service, policy = dynamic, cardinality =
> 0..n, target = null, bind = setService, unbind = unsetService]
> > of service component = osgi.example.service.consumer
> > component implementation class =
> osgi.example.service.consumer.ServiceConsumer
> > located in bundle with symbolic name = osgi.example.service.consumer
> > bundle location = 
> > initial@reference:file:../../../../osgi.example.service.consumer/
> _______________________________________________
> > equinox-dev mailing list
> > [email protected]
> > https://dev.eclipse.org/mailman/listinfo/equinox-dev
>
> _______________________________________________
> equinox-dev mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>
_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to