You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Ryan Moquin <fr...@gmail.com> on 2009/08/26 02:15:11 UTC

NPE's when clustering through single activemq instance.

I've been able to cluster servicemix instances by using a networkconnector
that lists each possible servicemix host that may participate in the cluster
(multicast isn't available).  Not all machines will be up and running at all
times.  Since I don't have multicast available, I decided to try having the
servicemix instances try to connect to a single activemq instance when they
come online.   The only problem, is that when I try this, it seems like
broadcasted messages from the servicemix instances error out.  It looks like
the errors only occur when components become registered or deregistered from
a specific servicemix container and notifications of the component
registration/deregistration is sent to other containers.  This results in
the other containers not being aware that a component has been added/removed
to/from one of the other containers.  Everything seems to work fine when I
cluster servicemix containers using their own activemq instances (though I
do periodically seem to see broadcast message errors, though nothing
critical seems affected).  I do have different names for each of the
servicemix containers and I've removed the activemq.xml from each of them so
they don't start a broker.  I also reordered the jms flows so that jmsFlow
is first (is that all I have to do?  It definitely doesn't seem to work if
jmsFlow isn't first) like this:

<sm:broker>
      <sm:securedBroker authorizationMap="#authorizationMap">
        <sm:flows>
          <sm:jmsFlow jmsURL="${activemq.url}" />
          <sm:sedaFlow />
          <sm:jcaFlow connectionManager="#connectionManager"
                      jmsURL="${activemq.url}" />
        </sm:flows>
      </sm:securedBroker>
    </sm:broker>

Here are the error messages I get.  I thought JMS flow was to be used for
clustered communications.. I'm not sure why jcaflow ends up used.  Is there
anything other than reordering the flows and giving each servicemix
container a name that needs do?

Thanks for any help!  Here are the errors I get when components attempt to
be registered.

15:58:29,493 | ERROR | pool-flow.jca.org.apache.servicemix.JCAFlow-thread-19
| JCAFlow                  | mix.jbi.nmr.flow.jca.JCAFlow$3  327 | Error
processing incoming broadcast message
java.lang.NullPointerException
    at
org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow$3.onMessage(JCAFlow.java:317)
    at
org.jencks.LocalTransactionEndpoint.onMessage(LocalTransactionEndpoint.java:68)
    at
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
    at
org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
    at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:766)
    at
org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
15:58:29,493 | ERROR | ActiveMQ Session Task | JMSFlow                  |
nmr.flow.jms.AbstractJMSFlow$3  265 | Error processing incoming broadcast
message
java.lang.NullPointerException
    at
org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow$3.onMessage(AbstractJMSFlow.java:254)
    at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1073)
    at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:127)
    at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:197)
    at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
    at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
15:58:29,493 | ERROR | pool-flow.jca.org.apache.servicemix.JCAFlow-thread-20
| JCAFlow                  | mix.jbi.nmr.flow.jca.JCAFlow$3  327 | Error
processing incoming broadcast message
java.lang.NullPointerException
    at
org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow$3.onMessage(JCAFlow.java:317)
    at
org.jencks.LocalTransactionEndpoint.onMessage(LocalTransactionEndpoint.java:68)
    at
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
    at
org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
    at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:766)
    at
org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
15:58:29,493 | ERROR | ActiveMQ Session Task | JMSFlow                  |
nmr.flow.jms.AbstractJMSFlow$3  265 | Error processing incoming broadcast
message
java.lang.NullPointerException
    at
org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow$3.onMessage(AbstractJMSFlow.java:254)
    at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1073)
    at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:127)
    at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:197)
    at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
    at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
15:58:29,525 | ERROR | pool-flow.jca.org.apache.servicemix.JCAFlow-thread-21
| JCAFlow                  | mix.jbi.nmr.flow.jca.JCAFlow$3  327 | Error
processing incoming broadcast message
java.lang.NullPointerException
    at
org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow$3.onMessage(JCAFlow.java:317)
    at
org.jencks.LocalTransactionEndpoint.onMessage(LocalTransactionEndpoint.java:68)
    at
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
    at
org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
    at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:766)
    at
org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
15:58:29,540 | ERROR | ActiveMQ Session Task | JMSFlow                  |
nmr.flow.jms.AbstractJMSFlow$3  265 | Error processing incoming broadcast
message
java.lang.NullPointerException
    at
org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow$3.onMessage(AbstractJMSFlow.java:254)
    at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1073)
    at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:127)
    at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:197)
    at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
    at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
15:58:29,540 | ERROR | pool-flow.jca.org.apache.servicemix.JCAFlow-thread-22
| JCAFlow                  | mix.jbi.nmr.flow.jca.JCAFlow$3  327 | Error
processing incoming broadcast message
java.lang.NullPointerException
    at
org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow$3.onMessage(JCAFlow.java:317)
    at
org.jencks.LocalTransactionEndpoint.onMessage(LocalTransactionEndpoint.java:68)
    at
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
    at
org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
    at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:766)
    at
org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
15:58:29,540 | ERROR | ActiveMQ Session Task | JMSFlow                  |
nmr.flow.jms.AbstractJMSFlow$3  265 | Error processing incoming broadcast
message
java.lang.NullPointerException
    at
org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow$3.onMessage(AbstractJMSFlow.java:254)
    at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1073)
    at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:127)
    at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:197)
    at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
    at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
15:58:29,556 | ERROR | ActiveMQ Session Task | JMSFlow                  |
nmr.flow.jms.AbstractJMSFlow$3  265 | Error processing incoming broadcast
message
java.lang.NullPointerException
    at
org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow$3.onMessage(AbstractJMSFlow.java:254)
    at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1073)
    at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:127)
    at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:197)
    at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
    at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
15:58:29,556 | ERROR | pool-flow.jca.org.apache.servicemix.JCAFlow-thread-23
| JCAFlow                  | mix.jbi.nmr.flow.jca.JCAFlow$3  327 | Error
processing incoming broadcast message
java.lang.NullPointerException
    at
org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow$3.onMessage(JCAFlow.java:317)
    at
org.jencks.LocalTransactionEndpoint.onMessage(LocalTransactionEndpoint.java:68)
    at
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
    at
org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
    at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:766)
    at
org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)

Re: NPE's when clustering through single activemq instance.

Posted by Ryan Moquin <fr...@gmail.com>.
Looking at the code (I'm using Fuse 3.4) for Servicemix 3.3.1 , which I'm
guessing is what fuse 3.4 is based on and the referenced line says:

String container = ((InternalEndpoint)
event.getEndpoint()).getComponentNameSpace().getContainerName();

which seems indicate something is missing from the event, I'm not sure why
either the endpoint, component namespace or container name would be
missing.  One thing that seems interesting though, is if this is a remote
component registration, shouldn't the endpoint be a RemoteEndpoint rather
than an InternalEndpoint?

If this doesn't ring a bell for anyone, then maybe I'll hook up a debugger
in the morning and see what is causing the NPE on that line (though I'm not
sure if that'll help me solve the issue).

Ryan

On Tue, Aug 25, 2009 at 8:15 PM, Ryan Moquin <fr...@gmail.com> wrote:

> I've been able to cluster servicemix instances by using a networkconnector
> that lists each possible servicemix host that may participate in the cluster
> (multicast isn't available).  Not all machines will be up and running at all
> times.  Since I don't have multicast available, I decided to try having the
> servicemix instances try to connect to a single activemq instance when they
> come online.   The only problem, is that when I try this, it seems like
> broadcasted messages from the servicemix instances error out.  It looks like
> the errors only occur when components become registered or deregistered from
> a specific servicemix container and notifications of the component
> registration/deregistration is sent to other containers.  This results in
> the other containers not being aware that a component has been added/removed
> to/from one of the other containers.  Everything seems to work fine when I
> cluster servicemix containers using their own activemq instances (though I
> do periodically seem to see broadcast message errors, though nothing
> critical seems affected).  I do have different names for each of the
> servicemix containers and I've removed the activemq.xml from each of them so
> they don't start a broker.  I also reordered the jms flows so that jmsFlow
> is first (is that all I have to do?  It definitely doesn't seem to work if
> jmsFlow isn't first) like this:
>
> <sm:broker>
>       <sm:securedBroker authorizationMap="#authorizationMap">
>         <sm:flows>
>           <sm:jmsFlow jmsURL="${activemq.url}" />
>           <sm:sedaFlow />
>           <sm:jcaFlow connectionManager="#connectionManager"
>                       jmsURL="${activemq.url}" />
>         </sm:flows>
>       </sm:securedBroker>
>     </sm:broker>
>
> Here are the error messages I get.  I thought JMS flow was to be used for
> clustered communications.. I'm not sure why jcaflow ends up used.  Is there
> anything other than reordering the flows and giving each servicemix
> container a name that needs do?
>
> Thanks for any help!  Here are the errors I get when components attempt to
> be registered.
>
> 15:58:29,493 | ERROR |
> pool-flow.jca.org.apache.servicemix.JCAFlow-thread-19 |
> JCAFlow                  | mix.jbi.nmr.flow.jca.JCAFlow$3  327 | Error
> processing incoming broadcast message
> java.lang.NullPointerException
>     at
> org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow$3.onMessage(JCAFlow.java:317)
>     at
> org.jencks.LocalTransactionEndpoint.onMessage(LocalTransactionEndpoint.java:68)
>     at
> org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
>     at
> org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
>     at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:766)
>     at
> org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> 15:58:29,493 | ERROR | ActiveMQ Session Task | JMSFlow                  |
> nmr.flow.jms.AbstractJMSFlow$3  265 | Error processing incoming broadcast
> message
> java.lang.NullPointerException
>     at
> org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow$3.onMessage(AbstractJMSFlow.java:254)
>     at
> org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1073)
>     at
> org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:127)
>     at
> org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:197)
>     at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
>     at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> 15:58:29,493 | ERROR |
> pool-flow.jca.org.apache.servicemix.JCAFlow-thread-20 |
> JCAFlow                  | mix.jbi.nmr.flow.jca.JCAFlow$3  327 | Error
> processing incoming broadcast message
> java.lang.NullPointerException
>     at
> org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow$3.onMessage(JCAFlow.java:317)
>     at
> org.jencks.LocalTransactionEndpoint.onMessage(LocalTransactionEndpoint.java:68)
>     at
> org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
>     at
> org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
>     at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:766)
>     at
> org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> 15:58:29,493 | ERROR | ActiveMQ Session Task | JMSFlow                  |
> nmr.flow.jms.AbstractJMSFlow$3  265 | Error processing incoming broadcast
> message
> java.lang.NullPointerException
>     at
> org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow$3.onMessage(AbstractJMSFlow.java:254)
>     at
> org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1073)
>     at
> org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:127)
>     at
> org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:197)
>     at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
>     at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> 15:58:29,525 | ERROR |
> pool-flow.jca.org.apache.servicemix.JCAFlow-thread-21 |
> JCAFlow                  | mix.jbi.nmr.flow.jca.JCAFlow$3  327 | Error
> processing incoming broadcast message
> java.lang.NullPointerException
>     at
> org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow$3.onMessage(JCAFlow.java:317)
>     at
> org.jencks.LocalTransactionEndpoint.onMessage(LocalTransactionEndpoint.java:68)
>     at
> org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
>     at
> org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
>     at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:766)
>     at
> org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> 15:58:29,540 | ERROR | ActiveMQ Session Task | JMSFlow                  |
> nmr.flow.jms.AbstractJMSFlow$3  265 | Error processing incoming broadcast
> message
> java.lang.NullPointerException
>     at
> org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow$3.onMessage(AbstractJMSFlow.java:254)
>     at
> org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1073)
>     at
> org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:127)
>     at
> org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:197)
>     at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
>     at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> 15:58:29,540 | ERROR |
> pool-flow.jca.org.apache.servicemix.JCAFlow-thread-22 |
> JCAFlow                  | mix.jbi.nmr.flow.jca.JCAFlow$3  327 | Error
> processing incoming broadcast message
> java.lang.NullPointerException
>     at
> org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow$3.onMessage(JCAFlow.java:317)
>     at
> org.jencks.LocalTransactionEndpoint.onMessage(LocalTransactionEndpoint.java:68)
>     at
> org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
>     at
> org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
>     at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:766)
>     at
> org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> 15:58:29,540 | ERROR | ActiveMQ Session Task | JMSFlow                  |
> nmr.flow.jms.AbstractJMSFlow$3  265 | Error processing incoming broadcast
> message
> java.lang.NullPointerException
>     at
> org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow$3.onMessage(AbstractJMSFlow.java:254)
>     at
> org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1073)
>     at
> org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:127)
>     at
> org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:197)
>     at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
>     at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> 15:58:29,556 | ERROR | ActiveMQ Session Task | JMSFlow                  |
> nmr.flow.jms.AbstractJMSFlow$3  265 | Error processing incoming broadcast
> message
> java.lang.NullPointerException
>     at
> org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow$3.onMessage(AbstractJMSFlow.java:254)
>     at
> org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1073)
>     at
> org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:127)
>     at
> org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:197)
>     at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
>     at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> 15:58:29,556 | ERROR |
> pool-flow.jca.org.apache.servicemix.JCAFlow-thread-23 |
> JCAFlow                  | mix.jbi.nmr.flow.jca.JCAFlow$3  327 | Error
> processing incoming broadcast message
> java.lang.NullPointerException
>     at
> org.apache.servicemix.jbi.nmr.flow.jca.JCAFlow$3.onMessage(JCAFlow.java:317)
>     at
> org.jencks.LocalTransactionEndpoint.onMessage(LocalTransactionEndpoint.java:68)
>     at
> org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
>     at
> org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
>     at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:766)
>     at
> org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
>