Apache Camel(JBoss Fuse) - 如何从MQ路由解压缩文件?

时间:2013-11-29 09:30:25

标签: java apache-camel unzip dataformat jbossfuse

我在骆驼路线上收到zipped数据,在JBoss Fuse(也称为Fuse ESB)中运行。

添加了一些日志语句后,我可以看到传入的数据是字节(它看起来都是乱码的,所以我很确定它是压缩数据)。

然而,我的骆驼路线的unmarshall().zip()部分没有将数据解压缩到文本 - 我仍然有字节(并且它们仍然看起来很乱。

from("webspheremq:topic:SNAPSHOTS")
    .log("before unzip, body class is: ${body.class}")   // bytes in...
    .unmarshall().zip()
    .log("after unzip, body class is: ${body.class}")   // still bytes! not good.

我显然在这里做错了。

所以我看了一下这个问题:Unzip files with Apache Camel?

但遗憾的是{I}在我正在使用的JBoss Fuse环境中似乎没有camel-zipfile,所以我无法使用ZipSplitter()

有人可以告诉我如何使用JBoss Fuse中的Apache Camel路由中的unzip数据吗?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

好的,这很简单:

from("xyz")
    .unmarshal(new ZipDataFormat())
    .convertBodyTo(String.class)

希望这有帮助。