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

Maciej Prochniak updated SMXCOMP-606:
-------------------------------------

    Description: 
When using XBeanServiceUnit and AbstractXBeanDeployer (which is the case for 
most smx components) applicationContext is created and started during 
deployment and closed (destroyed) during shutdown.
However, endpoint beans are still referenced by jbi registry, and can be used 
after SU is started. This can be quite confusing for beans performing some kind 
of shutdown during context closing.

Particularly, when using camel, after closing camel context some processors 
(e.g. DeadLetterChannel) throw exception when trying to process exchange. 

This could be fixed in two ways:
- override defaults in camel component 
- fix it directly in servicemix-common (not sure if and how it would affect 
other components)

I think that fix would have to involve refreshing/recreating applicationContext 
in start method of SU. However, this would have to swap endpoint instances in 
endpoint registry

  was:
When using XBeanServiceUnit and AbstractXBeanDeployer (which is the case for 
most smx components) applicationContext is created and started during 
deployment and closed (destroyed) during shutdown.
However, endpoint beans are still referenced by jbi registry, and can be used 
after SU is started. This can be quite confusing for beans performing some kind 
of shutdown during context closing.

Particularly, when using camel, after closing camel context some processors 
(e.g. DeadLetterChannel) throw exception when trying to process exchange. 

This could be fixed in two ways:
- override defaults in camel component - which is easier but less nice
- fix it directly  

I think that fix would have to involve refreshing/recreating applicationContext 
in start method of SU. However, this would have to swap endpoint instances in 
endpoint registry


> ApplicationContext lifecycle in XBean Component/Endpoint causes invalid state 
> of camel after shutdown+start
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: SMXCOMP-606
>                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-606
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-camel, servicemix-common
>    Affects Versions: servicemix-camel-2009.01, servicemix-shared-2009.01
>            Reporter: Maciej Prochniak
>
> When using XBeanServiceUnit and AbstractXBeanDeployer (which is the case for 
> most smx components) applicationContext is created and started during 
> deployment and closed (destroyed) during shutdown.
> However, endpoint beans are still referenced by jbi registry, and can be used 
> after SU is started. This can be quite confusing for beans performing some 
> kind of shutdown during context closing.
> Particularly, when using camel, after closing camel context some processors 
> (e.g. DeadLetterChannel) throw exception when trying to process exchange. 
> This could be fixed in two ways:
> - override defaults in camel component 
> - fix it directly in servicemix-common (not sure if and how it would affect 
> other components)
> I think that fix would have to involve refreshing/recreating 
> applicationContext in start method of SU. However, this would have to swap 
> endpoint instances in endpoint registry

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to