关闭 hazelcast 执行器服务的本地客户端

shut down local client of hazelcast exector service

我们正在使用 hazelcast 执行程序服务在我们的服务器集群中分发任务。

我们想关闭我们的一台服务器并将其从集群中取出,但允许它继续工作一段时间以完成它正在做的事情,但不接受来自 hazelcast 执行程序服务的任何新任务。

我不想关闭 hazelcast 实例,因为当前任务可能需要它来完成它们的工作。

关闭 hazelcast 执行程序服务不是我想要的。这将关闭集群范围内的执行程序。

我想继续处理本地队列中的任务,直到它为空然后关闭。

有没有办法让集群中的节点继续使用hazelcast,但告诉它停止接受来自executor服务的新任务?

没那么容易,但是您有成员属性 (Member::setX/::getX),您可以设置一个属性来发出信号 "no new tasks please",当您提交任务时,您可以预选要执行的成员基于属性,或者使用 MemberSelector 的重载。