配置数据存储器连接断开时的消息传递引擎和服务器行为
如果正在运行的消息传递引擎与其数据存储器之间的连接由于故障或因为您停止数据库以进行维护而断开,那么可通过将服务器配置为自动重新启动来确保连接恢复后消息传递引擎正常工作。
关于此任务
仅当消息传递引擎正在运行并已建立对其数据存储器的互斥锁定时,才会发生本主题中描述的行为。
通过对消息传递引擎设置 sib.msgstore.jdbcFailoverOnDBConnectionLoss 定制属性,可确定与数据存储器的连接断开时消息传递引擎及其主管服务器的行为。属性值 | 断开数据存储器连接时的行为 |
---|---|
true(缺省值) |
当下一次检查核心组服务是否处于工作状态时(缺省值是每 120 秒检查一次),高可用性管理器将停止消息传递引擎及其主管应用程序服务器。如果 Node Agent 正在监视服务器并且您在服务器的监视策略中启用了自动重新启动,那么服务器将重新启动。消息传递引擎将在相关服务器可用时启动。
注: 在进行是否处于工作状态检查的时间间隔期间,消息传递引擎可能会接受可靠性级别低于有保证的持久的消息,并可能丢失这些消息。
|
false | 消息传递引擎会继续运行并接受工作,并定期尝试重新获取与数据存储器的连接。如果在数据存储器不可用时继续将工作提交至消息传递引擎,那么结果可能会不可预测,并且数据存储器连接恢复时消息传递引擎可能会处于不一致状态。 注: 如果继续将工作提交给消息传递引擎,那么甚至非持久消息传递也会失败,这是因为消息传递引擎可能需要使用数据存储器,例如,使用数据存储器将唯一标识分配给消息或将非持久消息移出内存。
|
![]() |
![]() 消息传递引擎会继续运行并接受工作,并定期尝试重新获取与数据存储器的连接。 注: 在高可用性环境(合并集群 WebSphere Application Server 和 DB2 数据共享组)所在的 z/OS 上,false
设置是建议和首选的。false 设置不适用的一种情况是:集群只有一个成员,且没有消息传递引擎可故障转移至的服务器。
|
过程
- 单击 以浏览至消息传递引擎的定制属性面板。
- 单击新建。
- 在“名称”字段中输入 sib.msgstore.jdbcFailoverOnDBConnectionLoss 并在“值”字段中输入 true。
- 单击确定。
- 将更改保存至主配置。
- 重新启动应用程序服务器。
- 如果有集群,请重复先前步骤以便为集群中的每个消息传递引擎添加此属性。
结果
如果希望服务器重新启动,请确保在该服务器的监视策略中选择了自动重新启动。
下一步做什么
如果服务器在此情况下自动重新启动,那么服务器的 JVM 日志中会出现 CWSID0039E 消息。
服务器重新启动后,单击 以查看消息传递引擎的状态。检查消息传递引擎是否已重新启动并且正在运行。
如果服务器属于集群,请通过遵循主题消息传递引擎启动失败时管理高可用性中的指示信息来检查集群成员是否仍支持高可用性。
您可能想要调整系统以便迅速检测到数据库连接断开的情况,并且消息传递引擎会在合理时间内等待数据存储器再次变为可用,然后才尝试在另一服务器上启动。