Hello, I have noticed two kinds of behaviour which I'd consider bug: 1) Under certain conditions sendSync with timeout leads to following exception:
> java.lang.NullPointerException > at > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.suspendTx(DeliveryChannelImpl.java:755) > at > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:588) > 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:665) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690) > at java.lang.Thread.run(Thread.java:810) This is caused by the fact that after timeout message exchange is removed from hashmap in deliveryChannelImpl. When answer the component tries to get it - and NullPointer occurs (this is only for transacted message exchanges - we encountered it with ODE). The whole thing happends rarely because the timeout must occur after the provider does send (otherwise the reply is not sent back) - but still NullPointerException does not look good in the logs ;) 2) When timeout occurs while message is waiting in seda queue for component using push delivery mode (e.g. camel) Next state is illegal Exception is thrown when component finally gets the message. This is in contrast to behaviour using pull mode when such message is just ignored. This behaviour is due to the fact that in push delivery mode in DeliveryChannelImpl only handleAccept is called - and not accept() - where aborted message recognition is done. Both things occur on SMX 3.3 - couldn't find any relevant info on this. Could someone please comment on these two? regards m. prochniak
