使用Hazelcast的Java ScheduledExecutorService在weblogic集群中执行任务

时间:2016-02-09 16:12:56

标签: java weblogic cluster-computing hazelcast scheduledexecutorservice

要求是 1.从数据库中拾取任务并为这些任务调用Web服务 2.需要在Weblogic集群中执行此操作,其中只应运行调度程序/执行程序的单个实例。

我们有Hazelcast支持,所以我想从Hazelcast获取java ExecutorService。此ExecutorService将“从数据库中选择任务并执行Web服务调用”。因此,每个节点都必须通过此ExecutorService

这是正确的方法吗?

我主要担心的是不在群集中进行重复调用

我不想使用Quartz调度程序的原因是因为我无法在Hazelcast中存储石英调度程序。

1 个答案:

答案 0 :(得分:0)

Hazelcast并不支持ScehduledExecutorService。它有一个未解决的问题here

我认为,您应该使用队列:将任务放在此队列上,并在每个节点上轮询此队列。您确定只调用一次任务,然后分发工作。但是,这种实现并不是完全容错的。如果某个节点在执行任务期间崩溃,它将会丢失。