2016-10-13 14 views
0

SIが初めてです。私は以下のSIフローを持っています。 Javaプログラムは、アウトバウンド・チャネルの後に終了すると予想されますが、それは待っています。なぜか、私は混乱しています。前もって感謝します!フローが予期したとおりに終了しない

<int-file:inbound-channel-adapter id="filesIn" 
directory="file:${com.cld.creditexpenses.inputdirectory}" 
    filename-pattern="*.313" auto-startup="true"> 
    <int:poller id="poller" fixed-delay="10000"/> 
</int-file:inbound-channel-adapter> 
     <int:service-activator input-channel="filesIn" ref="delimitedFileProcessor" 
    method="processFile" output-channel="outChannel" /> 
     <int:outbound-channel-adapter id="outChannel" ref="fileArchiver" method="archiveFile" > 
    </int:outbound-channel-adapter> 

答えて

0

あなたは、処理が完了すると、アプリケーションコンテキストを閉じる、またはデーモンスレッドを使用するもので、デフォルトtaskSchedulerを交換する必要が - the documentationを参照してください。

これは、処理が完了する前にプログラムが終了する可能性があることを意味しています。そのため、別の方法で実行する必要があります。

+0

返信いただきありがとうございます。だから、もし私が以下のようなSpring Bootクラスを使ってそれを実行しているなら、私はアプリケーションのコンテキストを取得して閉じるために何とか変更する必要があると思いますか? –

+0

「@ImportResource( "クラスパス:SI-config.xmlの") @SpringBootApplicationパブリッククラスCreditExpensesApplication { \tパブリック静的無効メイン(文字列[] args){ \t \t SpringApplication.run(CreditExpensesApplication.class、引数) ; \t} } ' –

+0

コメントにコードを入れないでください。代わりに質問を編集してください。あなたが見ることができるように、それは全く読めません。 'SpringApplication'の' run'メソッドはコンテキストを返します。処理がいつ完了するかを知るためのメカニズムが必要です。コンテキストを閉じます。 'ConfigurableApplicationContext context = SpringApplication.run(...);' –

関連する問題