一种暂停问题,即我遇到了一段时间 - 如果您有EJB状态或无状态Bean,或可能是一个直接的servlet进程,那么可能与错误的参数开始在生产系统上运行,如何您是否可以有效地添加了管理员/人员的手动“杀戮交换机”,以专门杀死该线程/过程?

有帮助吗?

解决方案

您不能,或者至少您不应该,直接干扰应用程序服务器线程。所以在Java EE环境中,一个“杀戮交换机”看起来绝对不合适。

我确实了解你拥有的问题,但宁愿建议采取一种异步方法,在较小的工作单元中拆分你的作业。

我用EJB定时器确实,对结果感到满意:为第一个工作单元创建初始计时器。当应用程序。服务器执行计时器,然后将其注册为对应于第二工作单元的第二个,等等可以通过形成一个工作单元的信息,因为EJB定时器支持存储自定义信息。此外,计时器执行和注册是事务性的,这很好地与数据库一起使用。您甚至可以使用此方法关闭并重新启动应用程序服务器。在每个工作单位运行之前,我们在数据库中检查,如果作业在此期间取消了作业。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top