You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Hans Couder (JIRA)" <ji...@apache.org> on 2009/02/06 15:49:59 UTC

[jira] Commented: (SM-1436) MessageExchange (org.apache.cxf.service.model.MessageInfo) not Serializable

    [ https://issues.apache.org/activemq/browse/SM-1436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=49184#action_49184 ] 

Hans Couder commented on SM-1436:
---------------------------------

When trying to serialize the message exchange with the JcrAuditor of smx-sling I also get the same exception.

- Error calling listener: org.apache.cxf.service.model.MessageInfo
java.lang.RuntimeException: org.apache.cxf.service.model.MessageInfo
	at org.apache.activemq.command.ActiveMQObjectMessage.storeContent(ActiveMQObjectMessage.java:104)
	at org.apache.activemq.command.ActiveMQObjectMessage.setObject(ActiveMQObjectMessage.java:155)
	at org.apache.activemq.ActiveMQSession.createObjectMessage(ActiveMQSession.java:317)
	at org.apache.servicemix.audit.jcr.EntireMarshaler.marschal(EntireMarshaler.java:29)
	at org.apache.servicemix.audit.jcr.AsynchronousAbstractAuditor.exchangeSent(AsynchronousAbstractAuditor.java:170)
	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.cxfbc.CxfBcConsumer.process(CxfBcConsumer.java:291)
	at org.apache.servicemix.cxfbc.CxfBcConsumer$JbiInvokerInterceptor.handleMessage(CxfBcConsumer.java:687)
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:226)
	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
	at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:295)
	at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:258)
	at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
	at org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
Caused by: java.io.NotSerializableException: org.apache.cxf.service.model.MessageInfo
	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.GeneratedMethodAccessor45.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.NormalizedMessageImpl.writeExternal(NormalizedMessageImpl.java:315)
	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.writeExternal(ExchangePacket.java:406)
	at org.apache.servicemix.jbi.messaging.MessageExchangeImpl.writeExternal(MessageExchangeImpl.java:605)
	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.activemq.command.ActiveMQObjectMessage.storeContent(ActiveMQObjectMessage.java:98)
	... 26 more


> MessageExchange (org.apache.cxf.service.model.MessageInfo) not Serializable
> ---------------------------------------------------------------------------
>
>                 Key: SM-1436
>                 URL: https://issues.apache.org/activemq/browse/SM-1436
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-core, servicemix-cxf-bc
>            Reporter: Gert Vanthienen
>            Assignee: Freeman Fang
>             Fix For: servicemix-cxf-bc-2008.01, 3.2.3, 3.3
>
>
> When using a JdbcAuditor, upon trying to serialize the message exchange, you get this exception.  Since the class is from CXF, I guess this only happens when using one of the CXF components.
> {noformat}
> ERROR - JdbcAuditor                    - Could not persist exchange
> java.io.NotSerializableException: org.apache.cxf.service.model.MessageInfo
>         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.GeneratedMethodAccessor49.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.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.send(DeliveryChannelImpl.java:431)
>         at org.apache.servicemix.common.EndpointDeliveryChannel.send(EndpointDeliveryChannel.java:79)
>         at org.apache.cxf.transport.jbi.JBIDestinationOutputStream.commitOutputMessage(JBIDestinationO
> utputStream.java:122)
>         at org.apache.cxf.transport.jbi.JBIDestinationOutputStream.doClose(JBIDestinationOutputStream.java:66)
>         at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:156)
>         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:221)
>         at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>         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:538)
>         at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>         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)
> ERROR - JdbcAuditor                    - Could not persist exchange
> java.io.NotSerializableException: org.apache.cxf.service.model.MessageInfo
>         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.GeneratedMethodAccessor49.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.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
> {noformat}

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