10.3.2. 配置消息传递日志表名称

JBoss EAP 7 消息传递使用单独的 JDBC 表来存储绑定信息、消息、大消息和分页信息。这些表的名称可以使用 服务器 配置文件 messaging - activemq 子系统中的 journal -bindings-table、journal-jms - bindings-table、journal -messages -table 和 journal-page- store-table 属性来配置。

对表名称有一些限制。

  • JBoss EAP 7 消息传递使用模式 TABLE_NAME + GENERATED_ID 为分页表生成标识符,其中 GENERATED_ID 最多可包含 20 个字符。由于 Oracle Database 12c 中的最大表名称长度为 30 个字符,因此您必须将表名称限制为 10 个字符。否则,您可能会看到 error ORA-00972: 标识符太长,分页将无法工作。
  • 不遵循 Oracle Database 12c 的架构对象命名规则的表名称必须使用双引号括起。带引号的标识符可以任何字符开头,并且可以包含任何字符和标点符号以及空格。但是,带引号和非引号的标识符不能包含双引号或空字符(\0)。务必要注意,带引号的标识符区分大小写。
  • 如果多个 JBoss EAP 服务器实例使用相同的数据库来持久保留消息和绑定数据,则表名称对于每个服务器实例都必须是唯一的。多个 JBoss EAP 服务器无法访问相同的表。

以下是管理 CLI 命令的示例,它使用带引号的标识符配置 journal-page-store-table 名称:

/subsystem=messaging-activemq/server=default:write-attribute(name=journal-page-store-table,value="\"PAGE_DATA\"")

这会在服务器配置文件的 messaging-activemq 子系统中创建以下配置:

<server name="default">
  <journal datasource="MessagingOracle12cDS" journal-page-store-table="&quot;PAGED_DATA&quot;"/>
  ...
</server>