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

Ivan updated SM-1826:
---------------------

    Attachment: stacktrace.txt

Issue stack trace

> StreamCacheConverter troubles
> -----------------------------
>
>                 Key: SM-1826
>                 URL: https://issues.apache.org/activemq/browse/SM-1826
>             Project: ServiceMix
>          Issue Type: Bug
>    Affects Versions: 3.3
>         Environment: Windows XP SP2, Apache ServiceMix 3.2.2, Apache Camel 
> 1.6.0
>            Reporter: Ivan
>         Attachments: stacktrace.txt
>
>
> I've got polling consumer SU(based on proper maven archetype), that sends 
> files, marshaled in primitive way(converted to StringSource) to myFileHandler.
> <file:poller service="myServices:myFilePoller"
>                endpoint="endpoint"
>                targetService="myServices:myFileHandler"
>                targetEndpoint="endpoint"
>                file="file:///D:/temp/camel/poller"
>                          autoCreateDirectory="true">
> Also I've got camel SU with route:
> public void configure() {         
>               noStreamCaching();
>       
> from("jbi:endpoint:http://my.test.com/myServices/myFileHandler/endpoint";)
>               .to("activemq:queue:processingQueue");          
>               
>       from("activemq:queue:processingQueue")
>               .to("log:ok");          
>     } 
> Throws exception:
> WARN  - EndpointMessageListener        - 
> Endpoint[activemq:queue:processingQueue] consumer caught an exception while 
> process
> ing JMS message: ActiveMQObjectMessage {commandId = 5, responseRequired = 
> true, messageId = ID:EPUAKYIW0502-3607-12373002117
> 18-4:51:1:1:1, originalDestination = null, originalTransactionId = null, 
> producerId = ID:EPUAKYIW0502-3607-1237300211718-4:5
> 1:1:1, destination = queue://processingQueue, transactionId = null, 
> expiration = 0, timestamp = 1237301839833, arrival = 0,
> brokerInTime = 1237301839833, brokerOutTime = 1237301839833, correlationId = 
> null, replyTo = null, persistent = true, type =
>  null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = 
> null, compressed = false, userID = null, content
> = org.apache.activemq.util.byteseque...@e2a846, marshalledProperties = null, 
> dataStructure = null, redeliveryCounter = 0, si
> ze = 0, properties = null, readOnlyProperties = true, readOnlyBody = true, 
> droppable = false}
> org.apache.camel.RuntimeCamelException: 
> org.apache.camel.component.jms.RuntimeJmsException: Failed to extract body 
> due to: j
> avax.jms.JMSException: Failed to build body from bytes. Reason: 
> java.io.InvalidClassException: org.apache.camel.converter.st
> ream.StreamCacheConverter$SourceCache; 
> org.apache.camel.converter.stream.StreamCacheConverter$SourceCache; no valid 
> construc
> tor. Message: ActiveMQObjectMessage {commandId = 5, responseRequired = true, 
> messageId = ID:EPUAKYIW0502-3607-1237300211718-
> 4:51:1:1:1, originalDestination = null, originalTransactionId = null, 
> producerId = ID:EPUAKYIW0502-3607-1237300211718-4:51:1
> :1, destination = queue://processingQueue, transactionId = null, expiration = 
> 0, timestamp = 1237301839833, arrival = 0, bro
> kerInTime = 1237301839833, brokerOutTime = 1237301839833, correlationId = 
> null, replyTo = null, persistent = true, type = nu
> ll, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, 
> compressed = false, userID = null, content = o
> rg.apache.activemq.util.byteseque...@e2a846, marshalledProperties = null, 
> dataStructure = null, redeliveryCounter = 0, size
> = 0, properties = null, readOnlyProperties = true, readOnlyBody = true, 
> droppable = false}
>         at 
> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:842)
>         at 
> org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:95)
>         at 
> org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContain
> er.java:543)
>         at 
> org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer
> .java:482)
>         at 
> org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContai
> ner.java:451)
>         at 
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessa
> geListenerContainer.java:323)
>         at 
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessage
> ListenerContainer.java:261)
>         at 
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(Defau
> ltMessageListenerContainer.java:982)
>         at 
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageLi
> stenerContainer.java:881)
>         at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.component.jms.RuntimeJmsException: Failed to 
> extract body due to: javax.jms.JMSException: Failed
>  to build body from bytes. Reason: java.io.InvalidClassException: 
> org.apache.camel.converter.stream.StreamCacheConverter$Sou
> rceCache; org.apache.camel.converter.stream.StreamCacheConverter$SourceCache; 
> no valid constructor. Message: ActiveMQObjectM
> essage {commandId = 5, responseRequired = true, messageId = 
> ID:EPUAKYIW0502-3607-1237300211718-4:51:1:1:1, originalDestinati
> on = null, originalTransactionId = null, producerId = 
> ID:EPUAKYIW0502-3607-1237300211718-4:51:1:1, destination = queue://pro
> cessingQueue, transactionId = null, expiration = 0, timestamp = 
> 1237301839833, arrival = 0, brokerInTime = 1237301839833, br
> okerOutTime = 1237301839833, correlationId = null, replyTo = null, persistent 
> = true, type = null, priority = 4, groupID = n
> ull, groupSequence = 0, targetConsumerId = null, compressed = false, userID = 
> null, content = org.apache.activemq.util.ByteS
> eque...@e2a846, marshalledProperties = null, dataStructure = null, 
> redeliveryCounter = 0, size = 0, properties = null, readO
> nlyProperties = true, readOnlyBody = true, droppable = false}
>         at 
> org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:105)
>         at 
> org.apache.camel.component.jms.JmsMessage.createBody(JmsMessage.java:148)
>         at 
> org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:44)
>         at 
> org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:51)
>         at 
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:74)
>         at 
> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
>         at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
>         at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
>         at 
> org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:72)
>         ... 8 more
> Caused by: javax.jms.JMSException: Failed to build body from bytes. Reason: 
> java.io.InvalidClassException: org.apache.camel.
> converter.stream.StreamCacheConverter$SourceCache; 
> org.apache.camel.converter.stream.StreamCacheConverter$SourceCache; no va
> lid constructor
>         at 
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
>         at 
> org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:183)
>         at 
> org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:91)
>         ... 16 more
> Caused by: java.io.InvalidClassException: 
> org.apache.camel.converter.stream.StreamCacheConverter$SourceCache; 
> org.apache.cam
> el.converter.stream.StreamCacheConverter$SourceCache; no valid constructor
>         at 
> java.io.ObjectStreamClass.checkDeserialize(ObjectStreamClass.java:713)
>         at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1733)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
>         at 
> org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:177)
>         ... 17 more
> Caused by: java.io.InvalidClassException: 
> org.apache.camel.converter.stream.StreamCacheConverter$SourceCache; no valid 
> const
> ructor
>         at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:471)
>         at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:310)
>         at 
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
>         at 
> org.apache.activemq.command.ActiveMQObjectMessage.storeContent(ActiveMQObjectMessage.java:98)
>         at 
> org.apache.activemq.command.ActiveMQObjectMessage.setObject(ActiveMQObjectMessage.java:155)
>         at 
> org.apache.activemq.ActiveMQSession.createObjectMessage(ActiveMQSession.java:317)
>         at 
> org.apache.activemq.pool.PooledSession.createObjectMessage(PooledSession.java:149)
>         at 
> org.apache.camel.component.jms.JmsBinding.createJmsMessage(JmsBinding.java:334)
>         at 
> org.apache.camel.component.jms.JmsBinding.makeJmsMessage(JmsBinding.java:197)
>         at 
> org.apache.camel.component.jms.JmsProducer$2.createMessage(JmsProducer.java:229)
>         at 
> org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:570)
>         at 
> org.springframework.jms.core.JmsTemplate$4.doInJms(JmsTemplate.java:551)
>         at 
> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:471)
>         at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:548)
>         at 
> org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:227)
>         at 
> org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcesso
> rTypeConverter.java:43)
>         at 
> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
>         at 
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
>         at 
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
>         at 
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
>         at 
> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
>         at 
> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
>         at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
>         at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
>         at 
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
>         at 
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
>         at 
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
>         at 
> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
>         at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
>         at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
>         at 
> org.apache.servicemix.camel.CamelProviderEndpoint.handleActiveProviderExchange(CamelProviderEndpoint.java:94)
>         at 
> org.apache.servicemix.camel.CamelProviderEndpoint.process(CamelProviderEndpoint.java:73)
>         at 
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:600)
>         at 
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:554)
>         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:886)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         ... 1 more
> Please help :)

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

Reply via email to