Jakarta ee 当第二台服务器关闭时,EJB持久计时器未在第二台服务器上启动

Jakarta ee 当第二台服务器关闭时,EJB持久计时器未在第二台服务器上启动,jakarta-ee,timer,ejb,websphere-liberty,Jakarta Ee,Timer,Ejb,Websphere Liberty,计时器当前只在一台服务器上启动,这正是我想要的,但当我关闭该服务器时,它不会在另一台服务器上启动 我有两台liberty 16.x服务器,它们都使用相同的数据源,连接到derby db的相同网络版本 server.xml: <dataSource id="DefaultDataSource" jndiName="jdbc/DefaultDataSource" connectionSharing="MatchOriginalRequest" commitOrRollbackOnClean

计时器当前只在一台服务器上启动,这正是我想要的,但当我关闭该服务器时,它不会在另一台服务器上启动

  • 我有两台liberty 16.x服务器,它们都使用相同的数据源,连接到derby db的相同网络版本
server.xml:

<dataSource id="DefaultDataSource" jndiName="jdbc/DefaultDataSource" connectionSharing="MatchOriginalRequest" commitOrRollbackOnCleanup="rollback">
    <jdbcDriver libraryRef="DerbyLib"/>
    <properties.derby.client databaseName="/opt/db-derby-10.13.1.1-bin/databases/TEST_DB" createDatabase="false" serverName="localhost" portNumber="1088"/>
    <containerAuthData user="user1"  password="{xor}XXXX" />
</dataSource>
<library id="DerbyLib">
    <fileset dir="/opt/db-derby-10.13.1.1-bin/lib"/>
</library>
@Schedule(hour="*", minute="*", second="*", persistent=true)  
public void timerExpired()
{
    log.debug("%s collecting status...", System.getProperties().get("wlp.server.name"));
}

当他们各自使用自己的嵌入式derby版本时,计时器每秒都会在每台服务器上启动。然后我将它切换到derby的网络版本,其中两台服务器使用相同的数据源,现在只有一台服务器启动,这正是我想要的,但是我希望它在第一台服务器关闭时继续启动。

WebSphere Application server Liberty目前缺少EJB计时器的群集/故障切换功能,这将允许计时器在不同的服务器上运行,您在这里寻找。WebSphereApplicationServerTraditional具有此功能,但没有Liberty

您应该向IBM提出增强请求,以表示将其添加到Liberty的需求,然后在此处链接到RFE,以便其他阅读本文的人可以决定是否投票支持它,以帮助展示对该功能的需求