0

camel-file-consumer-template-threads-remaining-alive に似た質問があります。Tomcat コンテナーで Web アプリケーションを実行しています。Camel バージョン 2.10.4 を使用しています。Fileその中で、コンポーネントをポーリング コンシューマーとして使用しています。次のように設定されています。

from("/myDir"+
     "?delete=true"+
     "&startingDirectoryMustExist=true"+
     "&scheduledExecutorService=#mySpringManagedExecutorService")

これは期待どおりに動作しますが、Tomcat を停止しようとすると、次のメッセージが表示されます。

SEVERE: The web application [/myapp] appears to have started a thread
     named [MyExecuteService-0] but has failed to stop it. This is very likely to
     create a memory leak.

shutdown.sh スクリプトを呼び出した後、呼び出してps -ef | grep tomcatもプロセスはまだ実行中です。アプリがロードされていない場合、またはアプリにこのルートをロードしていない場合、Tomcat は適切に停止します。

4

1 に答える 1

0

参考までに、ソリューションは Nabble に投稿されました。これは、Spring で executor サービスをシャットダウンする必要があったためです。destory-method="shutdown"executor サービスにa を追加することでこれを行いました。

参考までに、単一のコンテキストでルートごとに異なるスレッド名を使用できるように、executor サービスをセットアップしました。Spring も Camel も、このメカニズムを提供していないようです。

ネブルスレッドはこちら

于 2013-10-16T15:00:04.287 に答える