我想监视zip文件的目录,然后使用Camel和Spring DSL单独处理zip文件中的文件.是否有类似以下内容?
<camel:route>
<camel:from uri="file:/src/Path/"/>
<camel:split streaming="true">
<zipSplit/>
<camel:to uri="bean:fileProcessor?method=processStream"/>
</camel:split>
</camel:route>
Run Code Online (Sandbox Code Playgroud)
好的,我发现以下适用于包含一个文件的zip文件,但问题是如何处理包含多个文件的zip文件?
<bean id="zipFileDataFormat" class="org.apache.camel.dataformat.zipfile.ZipFileDataFormat"/>
<camel:camelContext>
<camel:contextScan/>
<camel:route>
<camel:from uri="file:///C:/testSrc/?delay=6000&noop=true&idempotent=false"/>
<camel:unmarshal ref="zipFileDataFormat"/>
<camel:to uri="file:///C:/testDst"/>
</camel:route>
</camel:camelContext>
Run Code Online (Sandbox Code Playgroud)
请注意,该文件未被发送到bean以进行处理,只是解压缩到另一个目录中.
这有效.请注意,log元素将为您提供详细信息.
<bean id="zipFileDataFormat" class="org.apache.camel.dataformat.zipfile.ZipFileDataFormat">
<property name="usingIterator" value="true"/>
</bean>
<camel:camelContext>
<camel:contextScan/>
<camel:route id="unzipMultipleFiles">
<camel:from uri="file:///C:/testSrc/?delay=30000&noop=true&idempotent=false"/>
<camel:unmarshal ref="zipFileDataFormat"/>
<camel:split streaming="true">
<camel:simple>${body}</camel:simple>
<camel:to uri="log:org.apache.camel?level=INFO&showAll=true&multiline=true"/>
<camel:to uri="file:///C:/testDst"/>
</camel:split>
</camel:route>
</camel:camelContext>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5231 次 |
| 最近记录: |