8.15.2.3.4. 查找事务日志
-
事务日志驻留在 JDBC 支持的对象存储中。此存储的 JNDI 名称在 JBoss EAP 配置文件的
transaction
子系统定义中定义。 - 查看 配置文件,以查找与上述 JNDI 名称对应的数据源定义。
- 使用 JNDI 名称生成连接 URL。
您可以使用 URL 连接数据库,并对相关的 in-doubt 事务表发出
选择
查询。或者,如果您知道数据库在哪一容器集上运行,并且您知道数据库的名称,那么直接使用数据库工具的 OpenShift 远程 shell 或许更容易。
例如,如果 JDBC 存储由名为
sampledb
的 PostgreSQL 数据库托管,在 podpostgresql-2-vwf9n
上运行,您可以使用以下命令查找事务日志:注意以下命令中列出的 The ostxrecoveryapp426p4rjbosststxtable 表名称已选定,因为它遵循 保存日志存储条目的 JDBC 表名称的模式。在您的环境中,表名称具有类似格式:
-
从
前缀
开始. - 中间的部分源自 以上 JBoss 节点名称,如果存在,可能会删除"-"(短划线)字符。
-
最后,附加
jbosststxtable
后缀,以创建表的最终名称。
$ oc rsh postgresql-2-vwf9n sh-4.2$ psql sampledb psql (9.5.7) Type "help" for help. sampledb=# select uidstring from ostxrecoveryapp426p4rjbosststxtable where TYPENAME='StateManager/BasicAction/TwoPhaseCoordinator/AtomicAction' ; uidstring ------------------------------------- 0:ffff0a81009d:33789827:5a68b2bf:40 (1 row)
-
从