Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-3829

Camel SEDA Endpoint NPE

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • jboss-fuse-6.2
    • jboss-fuse-6.1
    • Camel
    • None
    • % %

      Customer is hitting a NPE in Seda as follows:

      Caused by: java.lang.NullPointerException
      at org.apache.camel.component.seda.SedaProducer.addToQueue(SedaProducer.java:214)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
      at org.apache.camel.component.seda.SedaProducer.process(SedaProducer.java:170)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
      at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
      at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:73)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
      at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:378)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
      at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:346)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
      at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:242)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
      at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:346)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
      at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:201)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
      at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:128)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
      at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:132)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]

      Which is at -> BlockingQueue<Exchange> queue = queueReference.getQueue();

      https://github.com/jboss-fuse/camel/blob/2.12.0.redhat-6-1-x-patch/camel-core/src/main/java/org/apache/camel/component/seda/SedaProducer.java#L214

      This works after a fresh deployment, but they want to be able to enable and disable this interceptor.

      They have a requirement to be able to turn it ON/OFF with a config change.

      When the config is updated it restarts the bundle (tried both direct and seda).

      JBossFuse:karaf@root> config:edit com.redhat.common.auditweb

      JBossFuse:karaf@root> config:propset auditweb.AuditWebOutInterceptorOnOffSwitch ON

      JBossFuse:karaf@root> config:update

      Now when the interceptor tries to send a message to the endpoint, the following null pointer exception is thrown.

      This looks to have been addressed upstream and has made it into Fuse 6.2, but not 6.1. Do not see an associated CAMEL JIRA however.

      https://git1-us-west.apache.org/repos/asf?p=camel.git;a=commit;h=6a75fdc1

      https://github.com/jboss-fuse/camel/blob/perfectus-work-camel-2.15.1.redhat-620112/camel-core/src/main/java/org/apache/camel/component/seda/SedaProducer.java

              janstey@redhat.com Jonathan Anstey
              rhn-support-mrobson Matt Robson
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: