[
https://issues.apache.org/jira/browse/FELIX-2450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12882687#action_12882687
]
Martin Zdila commented on FELIX-2450:
-------------------------------------
> Cycles are problematic in itself: I tend to think of cycles as design issues
> (not to say bugs).
In some cases they are required. The solution to our problem I see is not any
special. SCR should create the ItemRegister and activate it. Then it should
create the Item, inject ItemRegister to it, activate it and simultaneously add
this new Item to ItemRegister. And, if the dependencies are currently solveable
manually by scr disabling/enabling the componet, then it must be possible to do
it automatically too ;-).
> Nevertheless, there is an easy solution for you to be able to work around the
> problem in this case, in that you declare one of the components (guessing
> from the name, this would be the "MyItemRegisterImpl" component) to be
> "immediate".
I had tried this solution too but without any success. On Monday I will try it
again plus with some other combinations.
> I wonder why you have the cycle here anyway: Why don't you inject the
> ItemRegister into the Item at the time time Item is bound to the ItemRegister
> ?
Because not every implementation of the Item needs to have ItemRegister. In our
case only one. I provided just a simple model. Our real scenario looks like
this:
- interface Enumerable with method String[] getItems()
- there are many services implementing this Enumerable interface, like
UsersEnumerable, RolesEnumerable, ReportsEnumerable, DevicesEnumerable, ...
- there is also EnumerablesEnumerable that provides list of all enumerable
types, including itself (getItems will return {"users", "roles", "reports",
"devices", ..., "enumerables").
- EnumerablesRegister collects all the services implementing Enumerable
interface, (UsersEnumerable, ..., EnumerablesEnumerable)
- implementation of EnumerablesEnumerable must have reference to
EnumerablesRegister to enumerate all the types (as mentioned in third point)
Before we were using Spring DM (blueprint like solution) and there it was
working. But we decided to migrate to SCR for better control, hate of waiting
on timeouts, hate of proxies...
> ServiceFactory.getService() resulted in a cycle.
> ------------------------------------------------
>
> Key: FELIX-2450
> URL: https://issues.apache.org/jira/browse/FELIX-2450
> Project: Felix
> Issue Type: Bug
> Components: Declarative Services (SCR)
> Affects Versions: scr-1.4.0
> Environment: Linux bono 2.6.32-22-generic #36-Ubuntu SMP Thu Jun 3
> 22:02:19 UTC 2010 i686 GNU/Linux
> java version "1.6.0_20"
> Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
> Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
> Reporter: Martin Zdila
>
> I am using 1.4.1.SNAPSHOT-r951313.
> Component "Item":
> <?xml version="1.0" encoding="UTF-8"?>
> <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://www.osgi.org/xmlns/scr/v1.1.0
> http://www.osgi.org/xmlns/scr/v1.1.0">
> <implementation class="mycompany.impl.MyItemImpl"/>
> <reference interface="mycompany.ItemRegister" bind="setItemRegister"
> policy="dynamic"/>
> <service>
> <provide interface="mycompany.Item"/>
> </service>
> </scr:component>
> Component "ItemRegister":
> <?xml version="1.0" encoding="UTF-8"?>
> <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://www.osgi.org/xmlns/scr/v1.1.0
> http://www.osgi.org/xmlns/scr/v1.1.0">
> <implementation class="mycompany.impl.MyItemRegisterImpl"/>
> <reference interface="mycompany.Item" bind="addItem"
> unbind="removeItem" cardinality="0..n" policy="dynamic"/>
> <service>
> <provide interface="mycompany.ItemRegister"/>
> </service>
> </scr:component>
> Both components reside in the same bundle. On bundle startup I am getting:
> java.lang.IllegalStateException: ServiceFactory.getService() resulted in a
> cycle.
> at
> org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:249)
> at org.apache.felix.framework.Felix.getService(Felix.java:3022)
> at
> org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:329)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.getService(DependencyManager.java:785)
> at
> org.apache.felix.scr.impl.manager.DependencyManager$1.getInstance(DependencyManager.java:1040)
> at
> org.apache.felix.scr.impl.helper.BindMethod.getParameters(BindMethod.java:436)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:213)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)
> at
> org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:550)
> at
> org.apache.felix.scr.impl.helper.BaseMethod$NotResolved.invoke(BaseMethod.java:508)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:442)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1028)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.bind(DependencyManager.java:944)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.open(DependencyManager.java:868)
> at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:200)
> at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118)
> at
> org.apache.felix.scr.impl.manager.DelayedComponentManager.createRealComponent(DelayedComponentManager.java:95)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager$Registered.getService(AbstractComponentManager.java:1120)
> at
> org.apache.felix.scr.impl.manager.DelayedComponentManager.getService(DelayedComponentManager.java:88)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:307)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:221)
> at
> org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:295)
> at org.apache.felix.framework.Felix.getService(Felix.java:3022)
> at
> org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:329)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.getService(DependencyManager.java:785)
> at
> org.apache.felix.scr.impl.manager.DependencyManager$1.getInstance(DependencyManager.java:1040)
> at
> org.apache.felix.scr.impl.helper.BindMethod.getParameters(BindMethod.java:436)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:213)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)
> at
> org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:550)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:442)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1028)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.bind(DependencyManager.java:932)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.open(DependencyManager.java:868)
> at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:200)
> at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118)
> at
> org.apache.felix.scr.impl.manager.DelayedComponentManager.createRealComponent(DelayedComponentManager.java:95)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager$Registered.getService(AbstractComponentManager.java:1120)
> at
> org.apache.felix.scr.impl.manager.DelayedComponentManager.getService(DelayedComponentManager.java:88)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:307)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:221)
> at
> org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:295)
> at org.apache.felix.framework.Felix.getService(Felix.java:3022)
> at
> org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:329)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.getService(DependencyManager.java:785)
> at
> org.apache.felix.scr.impl.manager.DependencyManager$1.getInstance(DependencyManager.java:1040)
> at
> org.apache.felix.scr.impl.helper.BindMethod.getParameters(BindMethod.java:436)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:213)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)
> at
> org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:550)
> at
> org.apache.felix.scr.impl.helper.BaseMethod$NotResolved.invoke(BaseMethod.java:508)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:442)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1028)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.bind(DependencyManager.java:944)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.open(DependencyManager.java:868)
> at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:200)
> at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118)
> at
> org.apache.felix.scr.impl.manager.DelayedComponentManager.createRealComponent(DelayedComponentManager.java:95)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager$Registered.getService(AbstractComponentManager.java:1120)
> at
> org.apache.felix.scr.impl.manager.DelayedComponentManager.getService(DelayedComponentManager.java:88)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:307)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:221)
> at
> org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:295)
> at org.apache.felix.framework.Felix.getService(Felix.java:3022)
> at
> org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:329)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.getService(DependencyManager.java:785)
> at
> org.apache.felix.scr.impl.manager.DependencyManager$1.getInstance(DependencyManager.java:1040)
> at
> org.apache.felix.scr.impl.helper.BindMethod.getParameters(BindMethod.java:436)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:213)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)
> at
> org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:550)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:442)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1028)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.serviceAdded(DependencyManager.java:308)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:170)
> at
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:864)
> at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:732)
> at
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
> at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3745)
> at org.apache.felix.framework.Felix.access$000(Felix.java:80)
> at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:717)
> at
> org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:107)
> at org.apache.felix.framework.Felix.registerService(Felix.java:2862)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:251)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:425)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.registerComponentService(AbstractComponentManager.java:436)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:984)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:309)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:133)
> at
> org.apache.felix.scr.impl.config.ConfiguredComponentHolder.enableComponents(ConfiguredComponentHolder.java:247)
> at
> org.apache.felix.scr.impl.BundleComponentActivator.loadDescriptor(BundleComponentActivator.java:253)
> at
> org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:147)
> at
> org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:111)
> at
> org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:255)
> at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:173)
> at
> org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:800)
> at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:728)
> at
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610)
> at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3734)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1807)
> at org.apache.felix.framework.Felix.updateBundle(Felix.java:2110)
> at org.apache.felix.framework.BundleImpl.update(BundleImpl.java:923)
> at org.apache.felix.framework.BundleImpl.update(BundleImpl.java:910)
> at
> org.apache.felix.shell.impl.UpdateCommandImpl.execute(UpdateCommandImpl.java:96)
> at
> org.apache.felix.shell.impl.Activator$ShellServiceImpl.executeCommand(Activator.java:286)
> at
> org.apache.felix.shell.tui.Activator$ShellTuiRunnable.run(Activator.java:184)
> at java.lang.Thread.run(Thread.java:619)
> ... other logs ...
> 2010-06-25 13:58:48,633 ERROR OsgiLogForwarder - gofer-form: FrameworkEvent
> ERROR
> org.apache.felix.log.LogException: org.osgi.framework.ServiceException:
> Service factory returned null.
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:340)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:221)
> at
> org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:295)
> at org.apache.felix.framework.Felix.getService(Felix.java:3022)
> at
> org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:329)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.getService(DependencyManager.java:785)
> at
> org.apache.felix.scr.impl.manager.DependencyManager$1.getInstance(DependencyManager.java:1040)
> at
> org.apache.felix.scr.impl.helper.BindMethod.getParameters(BindMethod.java:436)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:213)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)
> at
> org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:550)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:442)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1028)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.bind(DependencyManager.java:932)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.open(DependencyManager.java:868)
> at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:200)
> at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118)
> at
> org.apache.felix.scr.impl.manager.DelayedComponentManager.createRealComponent(DelayedComponentManager.java:95)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager$Registered.getService(AbstractComponentManager.java:1120)
> at
> org.apache.felix.scr.impl.manager.DelayedComponentManager.getService(DelayedComponentManager.java:88)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:307)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:221)
> at
> org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:295)
> at org.apache.felix.framework.Felix.getService(Felix.java:3022)
> at
> org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:329)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.getService(DependencyManager.java:785)
> at
> org.apache.felix.scr.impl.manager.DependencyManager$1.getInstance(DependencyManager.java:1040)
> at
> org.apache.felix.scr.impl.helper.BindMethod.getParameters(BindMethod.java:436)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:213)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)
> at
> org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:550)
> at
> org.apache.felix.scr.impl.helper.BaseMethod$NotResolved.invoke(BaseMethod.java:508)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:442)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1028)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.bind(DependencyManager.java:944)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.open(DependencyManager.java:868)
> at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:200)
> at
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118)
> at
> org.apache.felix.scr.impl.manager.DelayedComponentManager.createRealComponent(DelayedComponentManager.java:95)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager$Registered.getService(AbstractComponentManager.java:1120)
> at
> org.apache.felix.scr.impl.manager.DelayedComponentManager.getService(DelayedComponentManager.java:88)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:307)
> at
> org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:221)
> at
> org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:295)
> at org.apache.felix.framework.Felix.getService(Felix.java:3022)
> at
> org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:329)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.getService(DependencyManager.java:785)
> at
> org.apache.felix.scr.impl.manager.DependencyManager$1.getInstance(DependencyManager.java:1040)
> at
> org.apache.felix.scr.impl.helper.BindMethod.getParameters(BindMethod.java:436)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:213)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)
> at
> org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:550)
> at
> org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:442)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:1028)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.serviceAdded(DependencyManager.java:308)
> at
> org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:170)
> at
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:864)
> at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:732)
> at
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
> at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3745)
> at org.apache.felix.framework.Felix.access$000(Felix.java:80)
> at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:717)
> at
> org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:107)
> at org.apache.felix.framework.Felix.registerService(Felix.java:2862)
> at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:251)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:425)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.registerComponentService(AbstractComponentManager.java:436)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:984)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:309)
> at
> org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:133)
> at
> org.apache.felix.scr.impl.config.ConfiguredComponentHolder.enableComponents(ConfiguredComponentHolder.java:247)
> at
> org.apache.felix.scr.impl.BundleComponentActivator.loadDescriptor(BundleComponentActivator.java:253)
> at
> org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:147)
> at
> org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:111)
> at
> org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:255)
> at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:173)
> at
> org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:800)
> at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:728)
> at
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610)
> at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3734)
> at org.apache.felix.framework.Felix.startBundle(Felix.java:1807)
> at org.apache.felix.framework.Felix.updateBundle(Felix.java:2110)
> at org.apache.felix.framework.BundleImpl.update(BundleImpl.java:923)
> at org.apache.felix.framework.BundleImpl.update(BundleImpl.java:910)
> at
> org.apache.felix.shell.impl.UpdateCommandImpl.execute(UpdateCommandImpl.java:96)
> at
> org.apache.felix.shell.impl.Activator$ShellServiceImpl.executeCommand(Activator.java:286)
> at
> org.apache.felix.shell.tui.Activator$ShellTuiRunnable.run(Activator.java:184)
> at java.lang.Thread.run(Thread.java:619)
> Sure, there is a cycle but this cycle can be resolved as one of the
> cardinalities is 0..n. If I manually scr disable the component "Item" and
> enable it again, then all is OK. Also, if XML definition of the "Item"
> component is being read later than that of component "ItemRegister", then
> bundle reloading runs OK. But not on the framework startup.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.