You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Guillaume Nodet (JIRA)" <ji...@apache.org> on 2008/09/02 08:27:52 UTC

[jira] Reopened: (SM-1526) MessageExchange (org.apache.cxf.transport.jbi.JBIDestination) not serializable

     [ https://issues.apache.org/activemq/browse/SM-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Guillaume Nodet reopened SM-1526:
---------------------------------


Ron, I think your comment makes lots of sense, performance wise.  However, this is a recurring issue for lots of components and the patch could fix it forever.  Another drawback of this patch is that if some components put some non serializable property without knowing that it will be removed, it may no longer work ...  I'm tempted to remove the needed properties in the CXF components too.

> MessageExchange (org.apache.cxf.transport.jbi.JBIDestination) not serializable
> ------------------------------------------------------------------------------
>
>                 Key: SM-1526
>                 URL: https://issues.apache.org/activemq/browse/SM-1526
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-bc
>    Affects Versions: 3.2.3
>            Reporter: Ron Gavlin
>            Assignee: Freeman Fang
>            Priority: Critical
>             Fix For: 3.2.3, 3.3
>
>         Attachments: wsdl-first-cxf-sa-3.3.1.3-fuse.jar
>
>
> When I invoke the attached flow with the JdbcAuditor enabled in servicemix.xml, the following error is generated. This prevents us from monitoring flows that use CXF components which is a major problem for us.
> 02:33:21,390 | ERROR | pool-flow.seda.servicemix-cxf-se-thread-1 | JdbcAuditor              | mix.jbi.audit.jdbc.JdbcAuditor  137 | Could not persist exchange
> java.io.NotSerializableException: org.apache.cxf.transport.jbi.JBIDestination
> 	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.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	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.NormalizedMessageImpl.writeExternal(NormalizedMessageImpl.java:311)
> 	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.servicemix.jbi.messaging.ExchangePacket.writeExternal(ExchangePacket.java:406)
> 	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.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.sendSync(DeliveryChannelImpl.java:470)
> 	at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:442)
> 	at org.apache.servicemix.common.EndpointDeliveryChannel.sendSync(EndpointDeliveryChannel.java:95)
> 	at org.apache.cxf.transport.jbi.JBIDestinationOutputStream.commitOutputMessage(JBIDestinationOutputStream.java:127)
> 	at org.apache.cxf.transport.jbi.JBIDestinationOutputStream.doClose(JBIDestinationOutputStream.java:69)
> 	at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:167)
> 	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
> 	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
> 	at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
> 	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
> 	at org.apache.cxf.transport.jbi.JBIDispatcherUtil.dispatch(JBIDispatcherUtil.java:156)
> 	at org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:232)
> 	at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:540)
> 	at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:492)
> 	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:172)
> 	at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
> 	at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 	at java.lang.Thread.run(Thread.java:595)

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