NullPointerException in servicemix-eip  endpoints
-------------------------------------------------

                 Key: SMXCOMP-741
                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-741
             Project: ServiceMix Components
          Issue Type: Bug
          Components: servicemix-eip
    Affects Versions: servicemix-eip-2008.01
         Environment: ServiceMix 3.3, Java 1.5_14
            Reporter: Alexander Zobkov


StaticRoutingSlip endpoint throws NullPointerException: 
{noformat} 
java.lang.NullPointerException
        at 
org.apache.servicemix.eip.patterns.StaticRoutingSlip.processProviderAsync(StaticRoutingSlip.java:172)
        at 
org.apache.servicemix.eip.patterns.StaticRoutingSlip.processAsync(StaticRoutingSlip.java:141)
        at org.apache.servicemix.eip.EIPEndpoint.process(EIPEndpoint.java:165)
        at 
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
        at 
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
        at 
org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
        at 
org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
        at 
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620)
        at 
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
        at 
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168)
        at 
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
{noformat} 
{code:java}
        } else { 
            MessageExchange me = getExchangeFactory().createInOutExchange(); 
            me.setProperty(correlation, exchange.getExchangeId());
            me.setProperty(index, new Integer(0));
            targets[0].configureTarget(me, getContext());                       
     //171
            store.store(exchange.getExchangeId(), exchange);                 // 
172
            MessageUtil.transferInToIn(exchange, me);                           
   // 173
            send(me);
        }
{code}
To reproduce exception you need to:
1) Stop(not shutdown) some SA with ant-tasks or jconsole;
2) Stop/kill ServiceMix;
3) Start ServiceMix;
4) Send some message through static-routing-slip endpoint;

Based on source code analyze -- problem in 'store' initialization and affects 
all servicemix-eip endpoints, but not in SA/SU state restoration. It seems 
SA/SU state restoration procedure conforms to JBI spec.

There is general question how eip endpoints should work in 'stopped' state from 
JBI point of view? Perhaps eip endpoints should send Fault messages in 
'stopped' state.
 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to