2017-05-03 44 views
0

我在我的应用中使用了ManagedExecutorService,特别是使用Quartz。它的观察者线程在执行者服务中运行。Wildfly:接收关闭事件以防止ManagedExecutorService的早期关闭

在应用关闭时,我在@PreDestroy方法中停止了Quartz,并且它应该完成它的观察器线程 - 这就是它的本意,以及它如何被切换到托管执行程序。

现在的问题是,当我关闭服务器时,ManagedExecutorService在@PreDestroy被调用之前关闭。

有没有办法让我得到关机事件的通知?我可以声明对“ManagedExecutors子系统”的某种依赖关系,以便在“CDI子系统”完成时清理它吗?

+2

为什么在JEE环境中使用Quartz? A @ Schedule Singleton将允许PreDestroy,并且您可能会使代码更加简单。 – stdunbar

+0

'@ PreDestroy'方法有什么样的bean? –

+0

@stdunbar也许,它更敏捷,更有特色。在这里已经有一段时间了,并不是我把它带入应用程序。 – Valya

回答

0

这是对的,我应该声明@Resource ManagedExecutorService这个类依赖于托管执行程序来防止其过早关闭。