21.2. 事务管理
21.2.1. 浏览并管理事务
log-store 的资源开放。名为 probe 的 API 操作读取事务日志并为每个日志创建一个节点。每当您需要刷新 log-store 时,您都可以手动调用 probe 命令。事务日志快速出现和消失都是正常的。
例 21.1. 刷新日志库
default 的服务器组的日志库。对于独立服务器,请从命令里删除 profile=default。
/profile=default/subsystem=transactions/log-store=log-store/:probe
例 21.2. 查看所有 Prepared 事务
ls 命令)。
ls /profile=default/subsystem=transactions/log-store=log-store/transactions
管理事务
- 查看事务的属性。
- 要查看事务的信息,如 JNDI 名称、EIS 产品名和版本或状态,请使用
:read-resourceCLI 命令。/profile=default/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9:read-resource
- 查看事务的参与者。
- 每个事务日志都包含一个名为
participants的子元素。对这个元素使用read-resourceCLI 命令来查看事务的参与者。参与者是通过它们的 JNDI 名称来标识的。/profile=default/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9/participants=java\:\/JmsXA:read-resource
结果可能类似于:{ "outcome" => "success", "result" => { "eis-product-name" => "HornetQ", "eis-product-version" => "2.0", "jndi-name" => "java:/JmsXA", "status" => "HEURISTIC", "type" => "/StateManager/AbstractRecord/XAResourceRecord" } }这里显示的结果状态是HEURISTIC且符合恢复的条件。详情请参考 恢复事务。。 - 删除事务。
- 每个事务日志都支持
:delete操作来删除代表事务的事务日志。/profile=default/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9:delete
- 恢复事务。
- 每个事务都支持通过
:recoverCLI 命令进行恢复。恢复启发式事务和参与者
- 如果事务的状态是
HEURISTIC,恢复操作会修改其状态为PREPARE并触发恢复。 - 如果事务的其中一个参与者是启发式的,恢复操作会试图重新执行
commit操作。如果成功,参与者将从事务日志里删除。您可以通过在log-store上重新运行:probe并检查参与者是否不再列出来验证这一点。如果这是最后一个参与者,事务也会被删除。
- 刷新需要恢复的事务的状态。
- 如果事务需要恢复,在进行恢复之前,您可以使用
:refreshCLI 命令确定它仍要求恢复。/profile=default/subsystem=transactions/log-store=log-store/transactions=0\:ffff7f000001\:-b66efc2\:4f9e6f8f\:9:refresh
如果启用了事务管理者(Transaction Manager,TM)统计,您可以查看事务管理者和事务子系统的统计信息。关于如何启用 TM 统计的信息,请参考 第 21.1.2 节 “配置事务管理者” 。
表 21.4. 事务子系统的统计信息
| 统计内容 | 描述 | CLI 命令 |
|---|---|---|
| Total |
服务器上事务管理者处理的事务总数。
|
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-transactions,include-defaults=true) |
| Committed |
服务器上事务管理者提交的事务总数。
|
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-committed-transactions,include-defaults=true) |
| Aborted |
服务器上事务管理者中止的事务总数。
|
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-aborted-transactions,include-defaults=true) |
| Timed Out |
服务器上事务管理者处理的超时事务总数。
|
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-timed-out-transactions,include-defaults=true) |
| Heuristics |
在管理控制台里不可用。处于 heuristic 状态的事务的数量。
|
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-heuristics,include-defaults=true) |
| In-Flight Transactions |
在管理控制台里不可用。已经开始但还未终止的事务的数量。
|
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-inflight-transactions,include-defaults=true) |
| Failure Origin - Applications |
故障来源是应用程序的失败事务的数量。
|
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-application-rollbacks,include-defaults=true) |
| Failure Origin - Resources |
故障来源是资源的失败事务的数量。
|
/host=master/server=server-one/subsystem=transactions/:read-attribute(name=number-of-resource-rollbacks,include-defaults=true) |

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.