A route which uses a Camel Quartz2 component fails when deployed using TAC

Problem Description

The following error is thrown when updating an ESB Task of a route which uses Quartz2, and the route doesn't work anymore:

 

...
Caused by: java.lang.IllegalArgumentException: Found component of type: class org.apache.camel.component.quartz2.QuartzComponent instead of expected: class org.apache.camel.component.quartz2.QuartzComponent
 at org.apache.camel.impl.DefaultCamelContext.getComponent(DefaultCamelContext.java:429) ~[?:?]
 at org.apache.camel.pollconsumer.quartz2.QuartzScheduledPollConsumerScheduler.doStart(QuartzScheduledPollConsumerScheduler.java:160) ~[?:?]
 ...

 

If you restart Runtime, the route becomes active and works again...until the next time you update it again and the error re-occurs.

 

Root Cause

Known defect.

 

Solution

Use the following workaround:

  1. Edit Runtime-Home/etc/org.apache.karaf.features.cfg file, and under the featuresBoot=/ section, add camel-quartz2 to the list.

    For example, the updated list could look like this:

    {code} 
    featuresBoot=\ 
    (instance, \ 
    .... 
    camel-xstream,\ 
    camel-quartz2 \
    tesb-sam-agent, \ 
    tesb-locator-client, \ 
    ..... 
    tesb-xacml-rt, \ 
    tesb-swagger 
    {code}
  2. Save and restart Runtime.
Version history
Revision #:
3 of 3
Last update:
‎09-29-2018 01:11 AM
Updated by:
 
Labels (3)