L.S.,
Looks like the InputStream for your file is already being consumed a
first time before you reach your file endpoint.
Could you try adding the streamCaching="true" attribute to your <route/>
element to cache date provided by the InputStream in memory before
forwarding to the file endpoint?
Regards,
Gert
steff aka sid wrote:
Hi I tried to use camel to build a static recipient list. I used the same
configuration like in http://activemq.apache.org/camel/recipient-list.html
http://activemq.apache.org/camel/recipient-list.html
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:brockhaus="http://brockhaus-gruppe.de/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://activemq.apache.org/camel/schema/spring
http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">
<camelContext id="camel"
xmlns="http://activemq.apache.org/camel/schema/spring">
<route>
<from
uri="jbi:endpoint:http://brockhaus-gruppe.de/services/camel/endpoint"/>
<to uri="jbi:service:http://brockhaus-gruppe.de/services/testbean"/>
<to
uri="jbi:endpoint:http://brockhaus-gruppe.de/services/archive/endpoint"/>
</route>
</camelContext>
</beans>
My structure looks like:
servicemix-file ---> camel (static recipient) ---> servicemix-bean --->
servicemix-file
--->
servicemix-file
The problem is, that it seems to be that the message is not copied but a
reference is send to the second endpoint. Because I get following exception:
ERROR - FileComponent - Error processing exchange InOnly[
id: ID:127.0.1.1-11cecc58795-2:19
status: Active
role: provider
endpoint: endpoint
in: Unable to display: java.io.IOException: Stream closed
]
javax.jbi.messaging.MessagingException:
javax.xml.transform.TransformerException: java.io.IOException: Stream closed
at
org.apache.servicemix.components.util.DefaultFileMarshaler.writeMessageContent(DefaultFileMarshaler.java:154)
at
org.apache.servicemix.components.util.DefaultFileMarshaler.writeMessage(DefaultFileMarshaler.java:83)
at
org.apache.servicemix.file.FileSenderEndpoint.processInOnly(FileSenderEndpoint.java:83)
at
org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:100)
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)
Caused by: javax.xml.transform.TransformerException: java.io.IOException:
Stream closed
at
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:505)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.toResult(SourceTransformer.java:125)
at
org.apache.servicemix.components.util.DefaultFileMarshaler.writeMessageContent(DefaultFileMarshaler.java:152)
... 13 more
Caused by: java.io.IOException: Stream closed
at
java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:145)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:189)
at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
at
org.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read(Unknown
Source)
at
org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at
org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
... 15 more
-----
Brockhaus GmbH
COMPETITIVE THROUGH KNOWLEDGE
Web: http://www.brockhaus-gruppe.de www.brockhaus-gruppe.de /
http://www.brockhaus-group.com www.brockhaus-group.com