有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Spring中用一个inputchanneladapter扫描多个目录位置的文件?

我有一个任务,我正在使用spring integration入站通道适配器读取两个不同文件夹中的文件

我的bean定义如下:

<file:inbound-channel-adapter id="channel1"
    directory="file:${java.io.tmpdir}/input1">
    <integration:poller id="poller" fixed-delay="60000">
    </integration:poller>
</file:inbound-channel-adapter>

<file:inbound-channel-adapter id="channel2"
    directory="file:${java.io.tmpdir}/input2">
    <integration:poller id="poller2" fixed-delay="60000">
    </integration:poller>
</file:inbound-channel-adapter>

<integration:service-activator
    input-channel="channel1" ref="handler" />
<integration:service-activator
    input-channel="channel2" ref="handler" />

<bean id="handler" class="c.d.Handler" />

我想从这个位置读取文件,并将其读取到任何一个位置,我想用同一个处理程序类来处理它。我无法编写两个主要类来读取不同的入站通道适配器。我曾尝试将扫描仪添加到同一个设备中,但没有成功。我在上面尝试过,但它给出了错误预期的单个匹配bean,但发现了2:。在此方面的任何帮助都将不胜感激


共 (1) 个答案

  1. # 1 楼答案

    只需用input-channel="in"声明一个服务激活器,然后您的两个适配器

    <file:inbound-channel-adapter id="one" channel="channel" ...
    
    <file:inbound-channel-adapter id="two" channel="channel" ...
    

    也就是说,将两个适配器的输出路由到同一个bean