10.3.3. 在受管域中配置消息传递日志

如配置消息传递日志表名称中所述,多个 JBoss EAP 服务器在使用 JDBC 时无法访问相同的数据库表,以持久保留消息并将数据绑定到数据库。由于在受管域中,服务器组中的所有 JBoss EAP 服务器实例共享相同的配置文件配置,因此您必须使用表达式来配置消息传递日志名称或数据源。

如果所有服务器都配置为使用同一个数据库来存储消息传递数据,则表名称必须为每个服务器实例唯一。以下是管理 CLI 命令的示例,它通过使用名称中包含唯一节点标识符 的表达式为服务器组中的每个服务器创建唯一的 journal-page-store-table 表名称:

/subsystem=messaging-activemq/server=default:write-attribute(name=journal-page-store-table,value="${env.NODE_ID}_page_store")

如果每个服务器实例访问不同的数据库,您可以使用表达式来允许各服务器的消息传递配置连接到不同的数据源。以下管理 CLI 命令使用 connection-url 中的 DB_CONNECTION_URL 环境变量连接到不同的数据源:

data-source add --name=messaging-journal --jndi-name=java:jboss/datasources/messaging-journal --driver-name=oracle12c  --connection-url=${env.DB_CONNECTION_URL}