我想知道是否可以在 Quartz 作业中以可移植的方式使用 CDI bean?
我已经尝试编写自己的 JobFactory 等,但问题是 BeanManager 无法通过 JNDI 使用,因为作业在非托管线程中运行。我的应用程序服务器是 Websphere 8.0.0.1,我已经了解到,将名称“java:”提供给非托管线程是违反 EE6 规范的。
目前我认为解决办法有两种:
- 让Websphere创建工作线程(不知道如何做到这一点,任何帮助都会很好)
- 实现 EJB 并通过 EJBJobInvoker 调用方法
我知道,当我使用 CDI 解决方案时,我无法让工作线程在不同的 JVM 中运行,如果我错了,请纠正我。为了保持可扩展性,我应该为此实现一个 EJB?你觉得怎么样,你有遇到过这样的问题吗?我也很欣赏不同的解决方案,甚至对不同调度程序库的建议!
Look at DeltaSpike 调度程序模块 https://deltaspike.apache.org/documentation/scheduler.html.
您可以在以下位置找到最新版本Maven 中央存储库 http://search.maven.org/#search%7Cga%7C1%7Cdeltaspike%20scheduler.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)