Quartz应用程序作用域JNDI EJB Lookups

时间:2015-07-17 12:53:16

标签: java-ee quartz-scheduler jndi lookup

我正在使用Quartz 2.1.5作为Java EE 7环境(Wildfly)中的可集群调度程序。 启动Quartz作业后,作业需要访问Java EE会话bean。 我的软件有点旧(没有依赖注入可用)所以该作业使用jndi查找来获取会话bean。 作为jndi查找,我使用了可移植的JNDI语法。

java:app [/ module name] / enterprise bean name [/ interface name]

java:global [/ application name] / module name / enterprise bean name [/ interface name]

我目前正在解决Quartz使用应用程序范围的jndi名称找不到Beans的问题(java:app) 它只能使用全局jndi变体找到会话bean。 出于某些目的,此处未解释,我需要使用应用程序作用域变体。 我的Java EE应用程序全部部署在一个EAR中。

为什么只有全球JNDI有效?

1 个答案:

答案 0 :(得分:0)

您需要实施自己的org.quartz.spi.ThreadExecutor和/或org.quartz.spi.ThreadPool类,以便使用javax.enterprise.concurrent包进行实施。

JSR 236: Concurrency Utilities for JavaTM将是一个有用的参考。