对于后端作业处理,我使用Ejb3调度程序(计时器服务)。调度程序被打包到一个EAR文件中。我正在将这个EAR部署到2个带有apache的glassfish服务器上,以实现负载均衡。问题是2个glassfish启动了他们的调度器,这意味着同一个调度器启动了2次。我需要将作业分配给两个服务器,例如,我有6个调度器,然后3个调度器由server1启动,而其他调度器将使用相同的EAR副本server2。
如果一台服务器已经启动,你能建议如何提示启动调度程序吗?
谢谢你的帮忙
发布于 2013-01-07 14:37:06
我假设你有一个类似集群的环境。单例在这种情况下不会有帮助,因为每个JVM都有一个bean实例。
您可以使用临时数据库表作为公共参考点,以存储计划作业的详细信息。相应的调度程序将从中挑选一个作业/行&可能相应地更新/删除执行结果状态/行。
因此,所有的调度器将从公共位置挑选,它们不会做多余的事情。否则,您可以将Quartz作为替代方案配置到您的应用程序中。
https://stackoverflow.com/questions/14168644
复制相似问题