Java 8 在ApacheCamel中拆分Zip文件?
我正在尝试获取一个输入zip流,并从其中获取文件。目前,我有这个bean调用试图将流发送到一个伪方法,以便我可以在调试器中分析主体。结果是一个空字符串Java 8 在ApacheCamel中拆分Zip文件?,java-8,apache-camel,osgi,osgi-bundle,enterprise-integration,Java 8,Apache Camel,Osgi,Osgi Bundle,Enterprise Integration,我正在尝试获取一个输入zip流,并从其中获取文件。目前,我有这个bean调用试图将流发送到一个伪方法,以便我可以在调试器中分析主体。结果是一个空字符串 public void configure() throws Exception { from("direct-vm://splitter-route") .split(new ZipSplitter()) .streaming() .convertBodyTo(String.class
public void configure() throws Exception {
from("direct-vm://splitter-route")
.split(new ZipSplitter())
.streaming()
.convertBodyTo(String.class)
.choice()
.when(body().isNotNull())
.bean(this, "testCall")
.to("file:/tmp/myinputzip")
.end()
.end();
我如何让它将每个单独的文件传递给我的方法 你的代码对我来说非常好。您的zip文件可能包含无法转换为
字符串的文件。要查看正在发生的事情以及body
中的类型,请注释掉行.convertBodyTo(String.class)
,然后用exchange.getIn()检查testCall中的body
方法。getBody(/*注意,没有body*/)
我的zip包含一个文本文件,如我所说的,该文件名为“hello world”,它正在我的机器上工作。我已复制了您的代码,并将从(“文件:\\temp”)添加到(“直接vm:\\splitter路由”)代码>和文件创建时没有出现问题。所以,您调试了应用程序的错误部分,问题出在路由中,即将数据发送到direct vm
,或者您发现了错误。没有你的版本就说不出来。使用Camel 2.21.0进行测试。