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.