2015-06-19 35 views
1

我正在研究Spring集成應用程序。彈簧集成分離器任務執行

我有讀取目錄 然後是分裂文件成線 最後一個UDP出站通道適配器分路器發送該行

<int-file:inbound-channel-adapter prevent-duplicates="false" 
      id="filesIn" directory="file:input" channel="inputFiles" /> 

<int:splitter input-channel="inputFiles" output-channel="udpChannel_11111" 
     expression="T(org.apache.commons.io.FileUtils).lineIterator(payload)" /> 

<!-- Define UDP outbound channel --> 
<int:channel id="udpChannel_11111" /> 
<int-ip:udp-outbound-channel-adapter channel="udpChannel_11111" 
     host="192.168.0.1" port="11111" /> 

我想送一個線上的每個入站通道適配器一秒

我可以通過定義我自己的分離器,每次讀取一行時等待1秒,但我想知道是否有可能在xml文件中做到儘可能簡單。

在此先感謝

回答

0

消息放置在QueueChannel,並使用輪詢發送一次第二。

的UDP通道適配器目前不支持輪詢,但你可以使用的橋樑......

<int:splitter input-channel="inputFiles" output-channel="udpChannel_11111" 
    expression="T(org.apache.commons.io.FileUtils).lineIterator(payload)" /> 

<int:channel id="toBridge"> 
    <int:queue /> 
</int:channel> 

<int:bridge input-channel="toBridge" output-channel="udpChannel_11111"> 
    <int:poller fixed-delay="1000" max-messages-per-poll="1" /> 
</int:bridge> 

請記住,雖然,該文件將很快被加載到隊列通道和如果它非常大,你可能會遇到內存問題。

+0

謝謝加里,它的工作原理。 – Ludo