[jira] Commented: (SM-782) Re-deploy with In-Only Mep
[ https://issues.apache.org/activemq/browse/SM-782?page=comments#action_37726 ] Guillaume Nodet commented on SM-782: If you could just keep the indentation to 4 spaces, the patch will be perfect :) To become a committer, keep sending patches and get involved on the mailing lists. All contributions can lead to committer status, be it bug fixes, docs or new features, help on examples If you need ideas, tell me :) The only real need imho, is to show a sustained involvment (it does not need to be high, just sustained), and that's why it can not happen in a few days. 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.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:StrMessage Change dans BPEL 4 JMS Service /ns1:Strns1:HashTypeMD5/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
[jira] Commented: (SM-782) Re-deploy with In-Only Mep
[ https://issues.apache.org/activemq/browse/SM-782?page=comments#action_37732 ] Guillaume Nodet commented on SM-782: We can not put the context directly in the message exchange, because all properties put inside the exchange / message must be serializable, else clustering fails. Upon redeployment, everything is recreated, so I don't think how setting the pendingMessages to null would solve the problem. But a modified patch should be fine. 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.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:StrMessage Change dans BPEL 4 JMS Service /ns1:Strns1:HashTypeMD5/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:
[jira] Commented: (SM-782) Re-deploy with In-Only Mep
[ 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:StrMessage Change dans BPEL 4 JMS Service /ns1:Strns1:HashTypeMD5/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
[jira] Commented: (SM-782) Re-deploy with In-Only Mep
[ https://issues.apache.org/activemq/browse/SM-782?page=comments#action_37723 ] Guillaume Nodet commented on SM-782: I think the problem comes from the fact that the endpoint is re-deployed. In such a case, another instance of the endpoint will be created, so that the pendingMessages map will be lost. For InOnly meps, it should be easy, as you said, to bypass this in case of DONE status. For ERROR status, well, not sure yet. For other meps, a better may be to extract the needed informations and put them as properties (they must be serializable) on the exchange, so that the jms component does not need to keep any state (hence, another component should be able to handle the answer if needed). 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. 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:StrMessage Change dans BPEL 4 JMS Service /ns1:Strns1:HashTypeMD5/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