我有一个Spring计划任务,它使用Camel来做一些业务逻辑。我从这个应用程序中创建了一个耳朵并部署在WAS上。现在,由于某种原因,如果我从WAS控制台停止应用程序,骆驼线程继续在后台运行。我如何用Spring的上下文附加我的驼峰上下文,这样一旦弹簧上下文被破坏,它也会破坏Camel上下文。分享代码以便理解
DefaultCamelContext context = new DefaultCamelContext();
context.addRoutes(route1);
context.addRoutes(route2);
context.start();
route1和route2是Camel路由,也被定义为Spring bean。
这会产生2个并行运行的camel线程。现在,当我停止我的应用程序时,这些骆驼仍在继续运行。我怎么能用Spring容器绑定这个驼峰上下文,这样一旦容器\上下文被破坏,所有底层线程也会被杀死。