2013-03-01 29 views
0

我想弄清楚如何解决我已经涉足的设计问题。 我们假设在我的应用程序中,我需要一种守护进程/服务,它可以在后台管理对象池中继续工作,以使它们可供客户端使用。 特别是这个守护进程负责管理这些对象的整个生命周期。使用EJB的后台进程

现在,我没有深入了解这个守护进程的细节,我在想如何设计它。 我的第一个想法是依靠WorkManager API。因为我有一个Singleton EJB建模我的应用程序核心,所以想要得到一个WorkManager,然后产生守护进程(显然实现Work)。我在开发资源适配器时使用过WorkManager,我想我也可以在EJB中使用它,但对WorkManager API(基本上由javax.resource.spi.work提供)支持Glassfish(3.1.2.2)支持,我发现在RA上下文中这是不可能。

我看了看网页,发现一个interesting article by Daniel Veselka似乎接近介绍WorkManager的CommonJ实现的问题,并且我明确地考虑了遵循这种方法。

您对此有何看法?

回答

1

您也可以使用一个定时的bean,它周期性地重新安排自己,并发送代表实际工作内容的JMS消息。它为我们工作。

+0

遵循定时bean方法Quartz Scheduler也是一个不错的选择,对吗? – fabpicca 2013-03-01 09:57:47

+0

我对Quartz没有个人经验,但是可以。或者产生一个线程的旧的ServletContextListener。 – ewernli 2013-03-01 10:05:53