Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.1
-
None
-
Linux x86/ Java (1.5.0_09)
Description
First deploy JMS-endpoint with target InOnly Service like Mail.
Run several call.
redeploy the same JMS-endpoint without modification.
And recall the service, u should have this exception.
It could be a safe thread pb, this error is launched in 75% of the cases.
I think the context of the message cannot be refind.
ERROR - JmsComponent - Error
processing exchange InOnly[
id: ID:jjp-34393-1166462101789-6:229
status: Done
role: consumer
service:
mailSender
endpoint: mailSender
in: <?xml version="1.0"
encoding="UTF-8"?><ns1:HashString
xmlns:ns1="http://tempuri.org/HashService/HashClass"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ZSI="http://www.zolera.com/schemas/ZSI/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ns1:Str>Message
Change dans BPEL 4 JMS Service
</ns1:Str><ns1:HashType>MD5</ns1:HashType></ns1:HashString>
]
java.lang.NullPointerException
at
org.apache.servicemix.jms.multiplexing.MultiplexingConsumerProcessor.process(MultiplexingConsumerProcessor.java:105)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:490)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:464)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
ERROR - JmsComponent - Error setting
exchange status to ERROR
javax.jbi.messaging.MessagingException: illegal call
to send / sendSync
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(MessageExchangeImpl.java:571)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:350)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:397)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:58)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
and this is my configuration
<jms:endpoint service="hello:jmsReceiver"
endpoint="HELLOJmsReceiver"
targetService="hello:mailSender"
role="consumer"
destinationStyle="queue"
jmsProviderDestinationName="jms/queue/hello"
connectionFactory="#jmsFactory"
defaultMep="http://www.w3.org/2004/08/wsdl/in-only" />
FYI: when you block SMX with in a debugger, it seems to
work fine.