在多台服务器上执行ScheduledExecutorService

时间:2019-07-03 09:01:08

标签: java websphere scheduledexecutorservice

我有一只耳朵将作为后端耳朵部署在多台服务器上。在那方面,我需要添加ScheduledExecutorService以便在特定时间从数据库中获取一些记录并对其进行处理。但是我只需要处理一次,而不是在耳朵将要部署到的所有服务器上处理一次。仅在java8上使用ScheduledExecutorService可以实现吗?还是我需要使用另一个可以实现此目的的库?

1 个答案:

答案 0 :(得分:0)

java.util.concurrent.ScheduledExecutorService是Java SE定义的接口。它没有指定实现的任何要求,以增强对应用程序服务器的了解或协调。即使是Java EE定义的javax.enterprise.concurrent.ManagedScheduledExecutorService接口,也不需要了解/协调不同应用程序服务器之间的调度,因此,WebSphere Application Server当前提供的实现当前不提供此功能。 。但是,Java EE中还有另一种技术可以提供此功能:持久EJB计时器。请参阅linked knowledge center article作为传统的WebSphere Application Server的起点。如果您使用的是WebSphere Application Server Liberty,则当前的功能受到更多限制,并且如果分配给运行该任务的任务失败,则该任务将无法跨服务器故障转移。为此,目前有一个针对Liberty的增强请求。