Camel File Consumer不停止

时间:2013-10-16 13:00:24

标签: java multithreading tomcat apache-camel

我有一个类似于camel-file-consumer-template-threads-remaining-alive的问题。我有一个在Tomcat容器中运行的webapp。我使用的是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会正常停止。

1 个答案:

答案 0 :(得分:0)

仅供参考,所以解决方案发布在Nabble上。这就是我需要在Spring中关闭执行程序服务。我通过向执行程序服务添加destory-method="shutdown"来完成此操作。

仅供参考,我已经设置了执行程序服务,这样我就可以在单个上下文中为每个路由设置不同的线程名称。 Spring和Camel似乎都没有提供这种机制。

Nabble主题是here