You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Jérôme Pochat (JIRA)" <ji...@apache.org> on 2008/11/13 22:39:06 UTC

[jira] Created: (SM-1687) Camel component crashes when using JMS flow

Camel component crashes when using JMS flow
-------------------------------------------

                 Key: SM-1687
                 URL: https://issues.apache.org/activemq/browse/SM-1687
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-camel
    Affects Versions: servicemix-camel-2008.01
            Reporter: Jérôme Pochat


Camel adds JBI properties that are not serializable. When using it with JMS flow, the following exception occurs:

Caused by: java.io.NotSerializableException: org.apache.camel.management.InstrumentationProcessor$1
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
        at java.util.HashMap.writeObject(HashMap.java:1039)
        at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
        at org.apache.servicemix.jbi.messaging.ExchangePacket.writeExternal(ExchangePacket.java:404)
        at org.apache.servicemix.jbi.messaging.MessageExchangeImpl.writeExternal(MessageExchangeImpl.java:605)
        at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1310)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1288)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
        at org.apache.activemq.command.ActiveMQObjectMessage.storeContent(ActiveMQObjectMessage.java:98)
        ... 37 more 

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


[jira] Updated: (SMXCOMP-18) Camel component crashes when using JMS flow

Posted by "Stan Lewis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SMXCOMP-18?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stan Lewis updated SMXCOMP-18:
------------------------------

    Attachment: patch.txt

Here's a patch that addresses this problem, which is due to CamelConsumerEndpoint adding both the camel exchange object and the callback object as properties to the JBI message.  This fix simply adds a key instead and keeps a table used to look up the exchange/callback later once the message has been sent.

> Camel component crashes when using JMS flow
> -------------------------------------------
>
>                 Key: SMXCOMP-18
>                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-18
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-camel
>    Affects Versions: servicemix-camel-2008.01
>            Reporter: Jérôme Pochat
>         Attachments: patch.txt
>
>
> Camel adds JBI properties that are not serializable. When using it with JMS flow, the following exception occurs:
> Caused by: java.io.NotSerializableException: org.apache.camel.management.InstrumentationProcessor$1
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>         at java.util.HashMap.writeObject(HashMap.java:1039)
>         at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
>         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
>         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>         at org.apache.servicemix.jbi.messaging.ExchangePacket.writeExternal(ExchangePacket.java:404)
>         at org.apache.servicemix.jbi.messaging.MessageExchangeImpl.writeExternal(MessageExchangeImpl.java:605)
>         at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1310)
>         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1288)
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>         at org.apache.activemq.command.ActiveMQObjectMessage.storeContent(ActiveMQObjectMessage.java:98)
>         ... 37 more 

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


[jira] Commented: (SM-1687) Camel component crashes when using JMS flow

Posted by "Marcello Teodori (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/SM-1687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=49078#action_49078 ] 

Marcello Teodori commented on SM-1687:
--------------------------------------

verified also with SedaFlow

> Camel component crashes when using JMS flow
> -------------------------------------------
>
>                 Key: SM-1687
>                 URL: https://issues.apache.org/activemq/browse/SM-1687
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-camel
>    Affects Versions: servicemix-camel-2008.01
>            Reporter: Jérôme Pochat
>
> Camel adds JBI properties that are not serializable. When using it with JMS flow, the following exception occurs:
> Caused by: java.io.NotSerializableException: org.apache.camel.management.InstrumentationProcessor$1
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>         at java.util.HashMap.writeObject(HashMap.java:1039)
>         at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
>         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
>         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>         at org.apache.servicemix.jbi.messaging.ExchangePacket.writeExternal(ExchangePacket.java:404)
>         at org.apache.servicemix.jbi.messaging.MessageExchangeImpl.writeExternal(MessageExchangeImpl.java:605)
>         at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1310)
>         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1288)
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>         at org.apache.activemq.command.ActiveMQObjectMessage.storeContent(ActiveMQObjectMessage.java:98)
>         ... 37 more 

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


[jira] Commented: (SM-1687) Camel component crashes when using JMS flow

Posted by "Pat McDonough (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/SM-1687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=47812#action_47812 ] 

Pat McDonough commented on SM-1687:
-----------------------------------

I believe this issue is not isolated to the JMS flow.  

I'm experiencing it frequently after turning on Auditing, which has a very similar stack trace (below).

To compound matters, after experiencing this failed audit, it later causes auditing in the web console to become unusable as subsequent attempts to retrieve exchanges explodes in audit.jsp (seemingly because of the attempt to retrieve the previously failed exchanges).


{noformat} 
...JdbcAuditor... mix.jbi.audit.jdbc.JdbcAuditor  137 | Could not persist exchange
java.io.NotSerializableException: org.apache.camel.management.InstrumentationProcessor$1
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
	at java.util.HashMap.writeObject(HashMap.java:1001)
	at sun.reflect.GeneratedMethodAccessor125.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
-->	at org.apache.servicemix.jbi.messaging.ExchangePacket.writeExternal(ExchangePacket.java:404)
	at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1421)
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1390)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
	at org.apache.servicemix.jbi.messaging.ExchangePacket.getData(ExchangePacket.java:472)
	at org.apache.servicemix.jbi.audit.jdbc.JdbcAuditor.exchangeSent(JdbcAuditor.java:122)
	at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:379)
	at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:431)
	at org.apache.servicemix.common.EndpointDeliveryChannel.send(EndpointDeliveryChannel.java:88)
	at org.apache.servicemix.common.endpoints.SimpleEndpoint.send(SimpleEndpoint.java:66)
	at org.apache.servicemix.common.endpoints.SimpleEndpoint.done(SimpleEndpoint.java:77)
	at org.apache.servicemix.camel.CamelConsumerEndpoint.process(CamelConsumerEndpoint.java:72)
	at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:600)
	at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:571)
	at org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:510)
	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:885)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)
{noformat} 



> Camel component crashes when using JMS flow
> -------------------------------------------
>
>                 Key: SM-1687
>                 URL: https://issues.apache.org/activemq/browse/SM-1687
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-camel
>    Affects Versions: servicemix-camel-2008.01
>            Reporter: Jérôme Pochat
>
> Camel adds JBI properties that are not serializable. When using it with JMS flow, the following exception occurs:
> Caused by: java.io.NotSerializableException: org.apache.camel.management.InstrumentationProcessor$1
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>         at java.util.HashMap.writeObject(HashMap.java:1039)
>         at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
>         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
>         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>         at org.apache.servicemix.jbi.messaging.ExchangePacket.writeExternal(ExchangePacket.java:404)
>         at org.apache.servicemix.jbi.messaging.MessageExchangeImpl.writeExternal(MessageExchangeImpl.java:605)
>         at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1310)
>         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1288)
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>         at org.apache.activemq.command.ActiveMQObjectMessage.storeContent(ActiveMQObjectMessage.java:98)
>         ... 37 more 

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


[jira] Resolved: (SMXCOMP-18) Camel component crashes when using JMS flow

Posted by "Gert Vanthienen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SMXCOMP-18?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gert Vanthienen resolved SMXCOMP-18.
------------------------------------

       Resolution: Fixed
    Fix Version/s: servicemix-camel-2009.02
                   3.2.4
         Assignee: Gert Vanthienen

Fixed for trunk in http://svn.apache.org/viewvc?view=rev&revision=766688
and backported to 3.2.x branch in http://svn.apache.org/viewvc?view=rev&revision=766711

Thanks to Stan for providing the patch -- slightly modified it to use the MessageExchange id instead of a new uuid!

> Camel component crashes when using JMS flow
> -------------------------------------------
>
>                 Key: SMXCOMP-18
>                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-18
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-camel
>    Affects Versions: servicemix-camel-2008.01
>            Reporter: Jérôme Pochat
>            Assignee: Gert Vanthienen
>             Fix For: 3.2.4, servicemix-camel-2009.02
>
>         Attachments: patch.txt
>
>
> Camel adds JBI properties that are not serializable. When using it with JMS flow, the following exception occurs:
> Caused by: java.io.NotSerializableException: org.apache.camel.management.InstrumentationProcessor$1
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>         at java.util.HashMap.writeObject(HashMap.java:1039)
>         at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
>         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
>         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>         at org.apache.servicemix.jbi.messaging.ExchangePacket.writeExternal(ExchangePacket.java:404)
>         at org.apache.servicemix.jbi.messaging.MessageExchangeImpl.writeExternal(MessageExchangeImpl.java:605)
>         at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1310)
>         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1288)
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>         at org.apache.activemq.command.ActiveMQObjectMessage.storeContent(ActiveMQObjectMessage.java:98)
>         ... 37 more 

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