James Netherton created CAMEL-9657:
--------------------------------------
Summary: Problems with DefaultCamelContext constructor calling
Container.Instance.manage()
Key: CAMEL-9657
URL: https://issues.apache.org/jira/browse/CAMEL-9657
Project: Camel
Issue Type: Bug
Components: camel-core
Reporter: James Netherton
[This
code|https://github.com/apache/camel/blob/master/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java#L300]
can cause problems when Camel runs in a container (like WildFly) with CDI.
The code assumes that the camel context will get started and stopped at some
point during its lifecycle, which then triggers an
[unmanage|https://github.com/apache/camel/blob/master/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java#L3151]
from the Container instance object.
With CDI, this scenario may not happen. Especially when CDI proxies are created
for @Injecting camel contexts into beans. The camel context in this scenario is
never started or stopped, resulting in this [map of
contexts|https://github.com/apache/camel/blob/master/camel-core/src/main/java/org/apache/camel/spi/Container.java#L51]
filling up with redundant objects.
Not sure what the best way of dealing with this is. It'd be nice to remove the
Container.manage code from the DefaultCamelContext default constructor or
implement Container in such a way that clients can override its behaviour.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)