我正在使用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有效?
答案 0 :(得分:0)
您需要实施自己的org.quartz.spi.ThreadExecutor和/或org.quartz.spi.ThreadPool类,以便使用javax.enterprise.concurrent包进行实施。