[ 
https://issues.apache.org/jira/browse/ARIES-802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guillaume Nodet updated ARIES-802:
----------------------------------

    Fix Version/s: blueprint-core-0.3.2
    
> dependent restart causes ComponentNameAlreadyInUseException: Name 
> 'blueprintContainer' is already in use by a registered component
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ARIES-802
>                 URL: https://issues.apache.org/jira/browse/ARIES-802
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>    Affects Versions: blueprint-core-0.4.1
>         Environment: karaf 2.2.4
>            Reporter: Aki Yoshida
>             Fix For: blueprint-0.4.0, blueprint-core-0.3.2
>
>         Attachments: patch.diff
>
>
> I saw this problem several months ago. This problem still occurs in the 
> current trunk 0.4.1-snapshot. 
> I have two bundles A and B running and A depends on B. In my concrete case, A 
> is an application scenario bundle depending on B the cxf bundle.
> Initially, both are running and have status Active. When I stop B, A goes to 
> status GracePeriod. When I start B again, A is started but does not come back 
> to status Active but goes to status "Failure" with the following error:
> 2011-12-14 01:12:49,755 | ERROR | rint Extender: 2 | BlueprintContainerImpl   
>         | container.BlueprintContainerImpl
>   362 | 10 - org.apache.aries.blueprint - 0.4.1.SNAPSHOT | Unable to start 
> blueprint container for bundle tmp.test-osgi-cxf-provider-bp
> org.apache.aries.blueprint.ComponentNameAlreadyInUseException: Name 
> 'blueprintContainer' is already in use by a registered component
>         at 
> org.apache.aries.blueprint.parser.ComponentDefinitionRegistryImpl.registerComponentDefinition(ComponentDefinitionRegistryImpl.java:88)[10:org.apache.aries.blueprint:0.4.1.SNAPSHOT]
>         at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:286)[10:org.apache.aries.blueprint:0.4.1.SNAPSHOT]
>         at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:241)[10:org.apache.aries.blueprint:0.4.1.SNAPSHOT]
>         at 
> org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)[10:org.apache.aries.blueprint:0.4.1.SNAPSHOT]
>         at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_24]
>         at 
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_24]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_24]
>         at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_24]
>         at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)[:1.6.0_24]
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_24]
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_24]
>         at java.lang.Thread.run(Thread.java:662)[:1.6.0_24]
> The cause of this problem seems to be that this bundle's blueprint 
> container's component definition map is not cleared up prior to getting 
> restarted. This calls ComponentRegistryImpl's registerComponentDefinition and 
> this method checks if the same named component is already in the map. 
> I added a line of code to clear up the definition map and this made the 
> bundle start and its status go to Active.
> Please take a look at the attached file.
> Regards, aki

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to