0

我正在寻找一种正确的方法,在 Java EE 6 中执行以下操作,如果可能的话,仅使用 vanilla Java EE 6。

我想将一个作业放入作业队列并拥有一个固定的工作对象池,如果它们空闲,它们应该从队列中拉出一个作业。

工作对象与遗留系统具有固定关系,因此不可能在多个线程中为所有作业使用一个工作对象,也不可能为每个工作实例化一个新的工作对象。

贪婪的工人模式看起来很完美,但这只适用于 Java SE。在 EE 中,我不确定实现这一点的正确方法是什么。

有什么建议么?

提前致谢。M。

4

1 回答 1

0

首先要注意的是,根据规范中的定义,您不得在 JavaEE 中创建和启动自己的线程。

关于您的设置,我不完全确定它在您的系统中是如何工作的 - 您是否一直与客户有固定的关系,或者是否只有不时执行的作业然后为一个客户工作?

在这两种情况下,您都可以只使用有状态的 EJB,以便一个 EJB 服务于特定的客户端系统。然后对于第一种情况,此 EJB 为整个生命周期服务于客户端,或者对于第二种情况,您可以启动异步 EJB 来完成工作。

于 2013-04-24T13:33:43.247 回答