2017-02-07 1 views
0

私はspring-integration inbound-channel-adapterを使用しているファイルに対して2つの異なるフォルダを読み込んでいます。Springで入力チャネルアダプタが1つしかないファイルの複数のディレクトリの場所をスキャンするにはどうすればよいですか?

マイ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" /> 

私はそれが私が同じハンドラクラスでそれを処理したいいずれか早い方の場所の位置との両方からファイルを読みたいです。異なるインバウンド・チャネル・アダプターを読み取るための2つの主要なクラスを書くことはできません。私は同じにスキャナを追加しようとしましたが、それは運動しませんでした。私は上記で試してみましたが、エラーが予想される単一の一致するbeanを見つけましたが、2:が見つかりました。これについての助けがあれば幸いです。

答えて

0

単にあなたの2つのアダプタ、その後、input-channel="in"で一つのサービスアクティベータを宣言...

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

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

すなわちルート同じBeanへの両方のアダプターからの出力。

+0

ありがとう、私は言ったことをやろうとしましたが、NoUniqueBeanDefinitionExceptionが1つのFileReadingMessageSourceを探しているのに2を見つけたという理由で取得しています。 – tpsaitwal

+0

2つのBeanがあります。それらの1つをオートワイヤーしようとしているように聞こえます。 @修飾子が必要です。残りの設定を表示し、正確に何をしようとしているのかを表示する必要があります。 –

関連する問題