我在 spring 上下文中使用骆驼版本 2.11.1。这是我的路线和豆类。
<route>
<from uri="file:/directory?move=archive&maxMessagesPerPoll=25&delay=1000&eagerMaxMessagesPerPoll=true" />
<to uri="seda:updateSomething" />
</route>
<route>
<from uri="seda:updateSomething?concurrentConsumers=100&limitConcurrentConsumers=false" />
<process ref="updateSomething" />
<to uri="seda:updateSomethingElse" />
</route>
<route>
<from uri="seda:updateSomethingElse?concurrentConsumers=100&limitConcurrentConsumers=false" />
<process ref="updateSomethingElse" />
</route>
我的豆子:
<bean id="updateSomething" class="project.Class1" scope="prototype">
</bean>
<bean id="updateSomethingElse" class="project.Class2" scope="prototype">
</bean>
当它启动时,它可以正常工作。正在处理的文件越多,我就开始收到错误,最终随着时间的推移,这些错误越来越多地发生:
org.apache.camel.TypeConversionException: Error during type conversion from type: java.io.File to the required type: byte[] with value /pathto/file due java.io.FileNotFoundException:
似乎我正在正确处理每个文件,但为什么我会收到这个错误......更重要的是我需要做些什么不同的事情才能不收到这个错误。
project.Class1 & project.Class2 具有相同的实现。只显示 1 类,因为它们是相同的。
public final class Class1 implements Processor {
public void process(Exchange exchange) throws Exception {
...
}
}