0

我在 spring 上下文中使用骆驼版本 2.11.1。这是我的路线和豆类。

      <route>
        <from uri="file:/directory?move=archive&amp;maxMessagesPerPoll=25&amp;delay=1000&amp;eagerMaxMessagesPerPoll=true" />
        <to uri="seda:updateSomething" />
      </route>
      <route>
        <from uri="seda:updateSomething?concurrentConsumers=100&amp;limitConcurrentConsumers=false" />
        <process ref="updateSomething" />
        <to uri="seda:updateSomethingElse" />
      </route>
      <route>
        <from uri="seda:updateSomethingElse?concurrentConsumers=100&amp;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 { 
            ...

    }
 }
4

1 回答 1

0

在 CamelContext 中尝试 streamCache="true"。

于 2016-09-28T10:48:11.200 回答