[ 
https://issues.apache.org/activemq/browse/SM-782?page=comments#action_37734 ] 
            
Guillaume Nodet commented on SM-782:
------------------------------------

I think your modifications on the pendingExchanges map have no effect at all.
Anyway, I will commit these changes as the code is cleaner that way.

JMS objects are not closed in this processor, as it has been designed to use
with ActiveMQ which supports these reuse.  However this code has some design
problems and I will soon commit a new JMS consumer endpoint which should
be more standard and more powerful at the same time.

> Re-deploy with In-Only Mep
> --------------------------
>
>                 Key: SM-782
>                 URL: https://issues.apache.org/activemq/browse/SM-782
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-jms
>    Affects Versions: 3.1
>         Environment: Linux x86/ Java (1.5.0_09)
>            Reporter: Grégoire A.
>         Attachments: MultiplexingConsumerProcessor.java.2.diff, 
> MultiplexingConsumerProcessor.java.3.diff, 
> MultiplexingConsumerProcessor.java.diff
>
>
> 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: {urn:fr.gouv.hello}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.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to