我正在使用Spring集成的入站通道适配器。我想在两个不同的目录下进行轮询 - 每个文件类别 - 并解析位于那里的文件。我使用的代码是:
<int:channel id="inputChannel"/>
<file:inbound-channel-adapter id="fileInOne"
directory="myDirOne"
auto-create-directory="true"
channel = "inputChannel">
<int:poller id="one" cron="1/10 * * * * *"/>
</file:inbound-channel-adapter>
<file:inbound-channel-adapter id="fileInTwo"
directory="myDirTwo"
auto-create-directory="true"
channel = "inputChannel">
<int:poller id="two" cron="1/10 * * * * *"/>
</file:inbound-channel-adapter>
两个入站通道适配器都使用相同的通道。所以我想知道文件加载的入站通道适配器。
答案 0 :(得分:0)
这是我能想到的两种方式:
一个。将每个流通过标题扩充器,添加一个自定义标头,告诉您从哪个目录开始,然后输入inputChannel。
<file:inbound-channel-adapter id="fileInOne"
directory="myDirOne"
auto-create-directory="true"
channel = "dirOneEnricher">
<int:poller id="one" cron="1/10 * * * * *"/>
</file:inbound-channel-adapter>
<int:header-enricher input-channel="dirOneEnricher" output-channel="inputChannel">
<int:header name="fileCategory" value="dirOneTypeCategory"/>
</int:header-enricher>
...
湾由于有效负载是java.io.File
,您可以使用API来找出此文件所属的目录并采取一些措施。