我有一个类似于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会正常停止。
答案 0 :(得分:0)
仅供参考,所以解决方案发布在Nabble上。这就是我需要在Spring中关闭执行程序服务。我通过向执行程序服务添加destory-method="shutdown"
来完成此操作。
仅供参考,我已经设置了执行程序服务,这样我就可以在单个上下文中为每个路由设置不同的线程名称。 Spring和Camel似乎都没有提供这种机制。
Nabble主题是here