【发布时间】:2014-10-25 03:47:35
【问题描述】:
我在输入文件夹中有一堆相关的 PDF 和 XML 文件:
1.PDF - 1.XML
2.PDF - 2.XML
3.PDF - 3.XML
etc.
PDF文件是扫描文档,相关的XML文件包含与PDF文件相关的索引信息。
我使用 Apache Camel 轮询文件夹中的 XML 和 PDF 文件,然后在我有相关对时将其发布到输出文件夹。理想情况下,我想最后发布 XML 文件。
以下代码似乎可以正确提取这对文件,但是当我再次尝试拆分文件时收到错误消息。
@Grab('org.apache.camel:camel-core:2.13.0')
@Grab('org.slf4j:slf4j-simple:1.6.6')
import org.apache.camel.*
import org.apache.camel.impl.*
import org.apache.camel.builder.*
import org.apache.camel.util.jndi.*
def jndiContext = new JndiContext();
def dataDir = "/${System.properties['user.home']}/test/file-poller-demo"
def camelContext = new DefaultCamelContext(jndiContext)
camelContext.addRoutes(new RouteBuilder() {
def void configure() {
from("file://${dataDir}/in")
.aggregate(simple('${file:onlyname.noext}')).completionSize(2).groupExchanges()
.split(body())
.to("file://${dataDir}/out")
}
})
camelContext.start()
addShutdownHook{ camelContext.stop() }
synchronized(this){ this.wait() }
错误信息:
没有可用的类型:java.io.InputStream 但有值:Exchange[1.xml] 类型:org.apache.camel.impl.DefaultExchange on:1.txt。原因:没有类型转换器可用于从类型 org.apache.camel.impl.DefaultExchange 转换为所需类型:java.io.InputStream,值为 Exchange[1.xml]。交换[1.txt]。
【问题讨论】:
标签: groovy apache-camel