10.3.2. 配置消息传递日志表名称
JBoss EAP 7 消息传递使用单独的 JDBC 表来存储绑定信息、消息、大消息和分页信息。这些表的名称可以使用 服务器
配置文件 messaging -
属性来配置。
activemq 子系统
中的 journal
-bindings-table、journal-jms
-bindings-table、journal
store-table-messages
-table 和 journal-page-
对表名称有一些限制。
-
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=""PAGED_DATA""/> ... </server>