我定义了 10 条路线,其中列出了 2 条。其他 8 个相同,但 from 端点是不同的目录。每条路由都会选择一个位于目录中的文件,并由一个 groovy 类处理。当一个文件被放入其中一个目录时,它工作正常,但是当一个文件同时被放入每个目录时,每个线程似乎都陷入了混乱。我确实收到了我已经拾取每个文件的日志消息,但是似乎每个线程都使用一个进程“beginProcess”,因为它就像我在 groovy 中定义的所有变量一样,随着每个文件被拾取而被更改。我不确定这是否有意义,但是有人可以告诉我我在下面做的事情是合法的吗?基本上可以多条路线调用一个类,如果是这样,我这样做是否正确?如果是,那么至少我会知道它必须在我的 groovy 类中(但看到它与一个文件一起工作表明它不在这里,但此时不假设它)。非常感谢!
<camel:camelContext id="myId"
xmlns="http://camel.apache.org/schema/spring">
<route>
<from
uri="file://directoryStructure1/?move=archive&sortBy=ignoreCase:file:name&readLock=markerFile&readLockCheckInterval=5000&readLockTimeout=10m&maxMessagesPerPoll=1" />
<process ref="beginProcess"></process>
</route>
<route>
<from
uri="file://directoryStructure2/?move=archive&sortBy=ignoreCase:file:name&readLock=markerFile&readLockCheckInterval=5000&readLockTimeout=10m&maxMessagesPerPoll=1" />
<process ref="beginProcess"></process>
</route>
</camel:camelContext>
<bean id="beginProcess" class="package.groovy.class"> </bean>