I have a scenario where I :
1) Receive a zipfile as byte[] from Restlet service
2) Save the zip file
3) Unmarshall the zip file
I receive the zipfile from the service successfully, then, I try to
multicast the message to endpoints 2) and 3) above.
2) succeeds, the zip file is saved, but 3) Fails with
org.apache.camel.RuntimeCamelException: java.io.IOException: Stream closed.
The same happened when I used pipeline() too.
I tried multicast().parallelProcessing() , 2) succeeds , but 3) always fails
with a timeout.
*Multicast allows to route the same message* to a number of endpoints and
process them in a different way. But from the failure, it looks like 3) is
not receiving a copy of the original message from 1).
Suggestions appreciated.*
---------------------Routes---------------------------------*
from("direct:start")
.to("restlet:"+ constant(RestURLs.TEST_BY_ID+"?restletMethod=GET"))
.multicast().to("direct:saveZip","direct:unmarshallZip");
.end();
* from("direct:saveZip")*
.to("file:C:/logs/zip?fileName=DAOPZip.zip")
.process(new TestProcessor())
.end();
*from("direct:unmarshallZip")*
.split(new ZipSplitter())
.streaming()
.process(new TestProcessor())
.to("file:C:/logs/zip")
.end();
1) Receive a zipfile as byte[] from Restlet service
2) Save the zip file
3) Unmarshall the zip file
I receive the zipfile from the service successfully, then, I try to
multicast the message to endpoints 2) and 3) above.
2) succeeds, the zip file is saved, but 3) Fails with
org.apache.camel.RuntimeCamelException: java.io.IOException: Stream closed.
The same happened when I used pipeline() too.
I tried multicast().parallelProcessing() , 2) succeeds , but 3) always fails
with a timeout.
*Multicast allows to route the same message* to a number of endpoints and
process them in a different way. But from the failure, it looks like 3) is
not receiving a copy of the original message from 1).
Suggestions appreciated.*
---------------------Routes---------------------------------*
from("direct:start")
.to("restlet:"+ constant(RestURLs.TEST_BY_ID+"?restletMethod=GET"))
.multicast().to("direct:saveZip","direct:unmarshallZip");
.end();
* from("direct:saveZip")*
.to("file:C:/logs/zip?fileName=DAOPZip.zip")
.process(new TestProcessor())
.end();
*from("direct:unmarshallZip")*
.split(new ZipSplitter())
.streaming()
.process(new TestProcessor())
.to("file:C:/logs/zip")
.end();