【发布时间】:2017-01-18 14:00:55
【问题描述】:
我有许多由执行器服务管理的可运行任务。
这些任务本质上是 JMS 队列轮询器并包含它们自己的连接。
例如:
ExecutorService executor = Executors.newFixedThreadPool(...);
executor.submit(new MyListener());
我的听众:
public class MyListener implements Runnable {
@Override
public void run() {
// Create my JMS connection here
}
}
如何优雅地关闭每个任务中的 JMS 连接,然后继续关闭每个线程?
我在使用shutdown() 关闭执行程序服务时遇到问题。
我需要使用shutdownNow() 强制中断,但是,如果我没有明确调用.close(),我如何确定我的JMS 连接已经关闭?
我是否缺少允许在我尝试停止任务时执行关闭挂钩的界面?
【问题讨论】:
标签: java connection runnable executorservice shutdown