camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Harris (JIRA)" <>
Subject [jira] [Created] (CAMEL-10747) CamelContext is not been set in VMConsumer when used with POJO @Consume
Date Wed, 25 Jan 2017 13:55:26 GMT
Christopher Harris created CAMEL-10747:

             Summary: CamelContext is not been set in VMConsumer when used with POJO @Consume
                 Key: CAMEL-10747
             Project: Camel
          Issue Type: Bug
          Components: camel-core
    Affects Versions: 2.18.1, 2.17.5, 2.17.4
         Environment: Ubuntu 16.04, OpenJDK 1.7, OpenJDK 1.8, Spring 4.2.6.RELEASE
            Reporter: Christopher Harris

In Spring environment, [DefaultCamelBeanPostProcessor relies on CamelPostProcessorHelper to
inject consumer|]
, when [CamelPostProcessorHelper creates a VMConsumer|]
from the endpoint based on the use of @Consume annotation, it then tries to start the consumer
as a service. 

Because the consumer endpoint of @Consume was created using the camel context from CamelPostProcessorHelper,
it puts the VMConsumer  service in to [deferred start|]
until the camel context is finished starting. The service is ultimately been [added to the
Then the DeferServiceStartupListener tries to start the VMConsumer at a later stage. 2.17.3
and 2.18.0 does not suffer this problem.

The problem is non of the process above has considered the fact that the VMConsumer is an
instance of CamelContextAware and injects the correct camel context to it. This then leads
to the VMConsumer tries to prepare the exchange with a null pointer reference as its camel

Because the exchange now has null as camel context, a NPE is thrown at
when it tries to create the exchange id.

This problem only happened after issue [CAMEL-10406|]
is merged in

This message was sent by Atlassian JIRA

View raw message