使用 Apache Camel UnZippedMessageProcessor 解压缩文件 [英] Unzip a file using Apache Camel UnZippedMessageProcessor

查看:30
本文介绍了使用 Apache Camel UnZippedMessageProcessor 解压缩文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试使用 Apache Camel 解压缩文件,我尝试了 http://camel.apache.org/zip-file-dataformat.html 但我找不到 UnZippedMessageProcessor 类.代码如下:

Trying to unzip a file using Apache Camel, I tried the example given in http://camel.apache.org/zip-file-dataformat.html but I can't find UnZippedMessageProcessor class. Here's the code:

import java.util.Iterator;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.dataformat.zipfile.ZipFileDataFormat;

public class TestRoute extends RouteBuilder {

@Override
public void configure() throws Exception {

    ZipFileDataFormat zipFile = new ZipFileDataFormat();
    zipFile.setUsingIterator(true);
    from("file:src/test/resources/org/apache/camel/dataformat/zipfile/")
            .unmarshal(zipFile).split(body(Iterator.class)).streaming()
            .process(new UnZippedMessageProcessor()).end();

}
}

有人尝试过这样做或有其他方法通过 Camel 路由解压缩文件吗?

Anyone tried to do this or have another way to unzip a file through a Camel route?

先谢谢你!

推荐答案

你也可以这样定义路由,你可以在camel-zipfile里面找到ZipSplitter.

You can also define the route like this, you can find the ZipSplitter inside of camel-zipfile.

 from("file:src/test/resources/org/apache/camel/dataformat/zipfile?consumer.delay=1000&noop=true")
  .split(new ZipSplitter())
  .streaming().convertBodyTo(String.class).to("mock:processZipEntry")
  .end()

这篇关于使用 Apache Camel UnZippedMessageProcessor 解压缩文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆