Apache Camel 读取/写入输入流

Ann*_*nna 6 java apache-camel

我目前正在尝试使用 Apache Camel 来解密已加载到 InputStream 中的 PGP 加密文件。我目前面临的问题是 CamelContext 似乎在启动后就挂起,就好像它direct:is在耗尽流后继续读取一样。我关注了Apache Camel - 如何使用 InputStream 作为源?达到可能将给定的 InputStream 加载到输入通道的点。

    CamelContext context = new DefaultCamelContext();
    CountDownLatch latch = new CountDownLatch(1);

    context.addRoutes(new RouteBuilder() {
        public void configure() {
            from("direct:is")
                    .unmarshal().pgp(secretKeyFileName, keyUserId, keyPassword)
                    .to("direct:os")
                    .process(exchange -> latch.countDown());
        }
    });

    DefaultFluentProducerTemplate.on(context).withBody(inputStream).to("direct:is");
    DefaultFluentProducerTemplate.on(context).withBody(outputStream);
    context.start();
    latch.await();
    context.stop();
Run Code Online (Sandbox Code Playgroud)