我正在使用 JBoss 5.x(嗯,实际上是 JBoss 6M1,它不符合 EJB3.1)。
我想实例化一个在后台永久运行的线程。线程将进行一些维护,一旦维护的资源(缓存)第一次使用就会启动。尽管线程创建将从 EJB 会话中触发,但后台作业应独立于任何会话运行。
我想使用 ajavax.resource.spi.work.WorkManager
来做到这一点,但我想知道如何获得(或最好的) WorkManager 实例来做到这一点。
(1) 我必须进行 JNDI 查找吗?如果是这样,我要寻找什么?我在网上找到了一些示例,但我不确定为什么要按原样编写它们。
(2) 可以使用注入获取WorkManager吗?如果有的话,它似乎可以与 @Resource 一起使用,但需要一些参数来注释?哪些,为什么?
(3) 我想从 BootstrapContext 中获取 WorkManager 吗?如果是这样,我怎样才能获得 BootstrapContext?
请注意,我发现了这个问题,但其中的选项对我来说并不适用(没有 WAR、没有 WebSphere、没有 JavaEE6)。
也欢迎指向相关规范(或其部分)而不是完整答案的指针。