384.4. unmarshal
在本例中,我们将名为 MY_QUEUE 的 ActiveMQ 队列中的 Zip 文件有效负载转发到其原始格式,并将它转发到 UnZippedMessageProcessor
。
from("activemq:queue:MY_QUEUE") .unmarshal().zipFile() .process(new UnZippedMessageProcessor());
from("activemq:queue:MY_QUEUE")
.unmarshal().zipFile()
.process(new UnZippedMessageProcessor());
如果 zip 文件有多个条目,则 ZipFileDataFormat 的 useIterator 选项为 true,您可以使用 splitter 来进一步工作。
或者,您可以使用 ZipSplitter 作为直接分割器的表达式,如下所示
from("file:src/test/resources/org/apache/camel/dataformat/zipfile?consumer.delay=1000&noop=true") .split(new ZipSplitter()).streaming() .process(new UnZippedMessageProcessor()) .end();
from("file:src/test/resources/org/apache/camel/dataformat/zipfile?consumer.delay=1000&noop=true")
.split(new ZipSplitter()).streaming()
.process(new UnZippedMessageProcessor())
.end();