[
https://issues.apache.org/activemq/browse/SMXCOMP-606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=63565#action_63565
]
Nickolay Martinov commented on SMXCOMP-606:
-------------------------------------------
Spring application context is created and initialized during deploy(). Probably
reverse actions should be done in undeploy() then instead of shutDown()
[according to SU life cycle state diagram]?
> 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
> Attachments: servicemix-common.debug.patch
>
>
> 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.