【发布时间】:2012-02-27 14:54:55
【问题描述】:
我想知道是否可以在 Quartz 作业中以可移植的方式使用 CDI bean?
我已经尝试编写自己的 JobFactory 等,但问题是,无法通过 JNDI 使用 BeanManager,因为作业在非托管线程中运行。我的应用程序服务器是 Websphere 8.0.0.1,我已经读到将名称“java:”提供给非托管线程是违反 EE6 规范的。
我认为现在有两种解决方案:
- 让 Websphere 创建工作线程(不知道怎么做,任何帮助都会很好)
- 实现一个 EJB 并通过 EJBJobInvoker 调用方法
我知道,当我使用 CDI 解决方案时,我无法让工作线程在不同的 JVM 中运行,如果我错了,请纠正我。为了保持可扩展性,我应该为此实现一个 EJB?你怎么看,你有没有遇到过这样的问题?我也很感激不同的解决方案,甚至是对不同调度程序库的建议!
【问题讨论】:
标签: jakarta-ee ejb quartz-scheduler cdi