为什么 atomikos 定期 ping pg_prepared_xacts
Why atomikos regularly pinged pg_prepared_xacts
我有 spring 引导应用程序,它在两个数据库 Postgres 中进行更新。我使用 Atomikos 进行分布式事务管理。
我看到我的应用程序每 10 秒在两个数据库中进行一次查询:
"SELECT gid FROM pg_prepared_xacts where database = current_database()"
我想知道为什么? atomikos 有一些 属性 用于更改周期吗?例如 1 分钟。如果查询returns一些gid会怎样?
这个问题我在网上查了很多,但是没有找到答案。
我有一些假设,我想知道正确答案。
- 为什么 Atomikos ping pg_prepared_xacts?
它调用"recovery scan",目的是在应用失败或应用错误后恢复。因此,在数据库中不会 "orphaned" Atomikos 创建的准备好的交易。
- atomikos 有一些属性换周期的吗?
是的,它有:com.atomikos.icatch.recovery_delay。其他有用的属性在这里:JtaProperties
- 查询returns一些gid会怎样?
Atomikos 检查返回的 gid 是否在 atomikos 事务日志中并具有状态 "to commit"。如果是这样,他将提交准备事务,否则他将回滚事务。请注意,Atomikos 将处理由他创建的准备交易,而不会处理其他准备交易。
我有 spring 引导应用程序,它在两个数据库 Postgres 中进行更新。我使用 Atomikos 进行分布式事务管理。
我看到我的应用程序每 10 秒在两个数据库中进行一次查询: "SELECT gid FROM pg_prepared_xacts where database = current_database()"
我想知道为什么? atomikos 有一些 属性 用于更改周期吗?例如 1 分钟。如果查询returns一些gid会怎样?
这个问题我在网上查了很多,但是没有找到答案。
我有一些假设,我想知道正确答案。
- 为什么 Atomikos ping pg_prepared_xacts?
它调用"recovery scan",目的是在应用失败或应用错误后恢复。因此,在数据库中不会 "orphaned" Atomikos 创建的准备好的交易。
- atomikos 有一些属性换周期的吗?
是的,它有:com.atomikos.icatch.recovery_delay。其他有用的属性在这里:JtaProperties
- 查询returns一些gid会怎样?
Atomikos 检查返回的 gid 是否在 atomikos 事务日志中并具有状态 "to commit"。如果是这样,他将提交准备事务,否则他将回滚事务。请注意,Atomikos 将处理由他创建的准备交易,而不会处理其他准备交易。