java - #commit 或 #rollback 之后不调用 org.apache.ignite.transactions.Transaction#close 会导致泄漏/问题吗?

标签 java ignite gridgain

我最近在调试一些问题时注意到,一段写得不好的代码在调用 org.apache.ignite.transactions 后不会调用 org.apache.ignite.transactions.Transaction#close .Transaction#rollback。它既没有使用 try-with-resources,也没有在 finally 中执行。

我知道并看到 docs 中提到了它另外,Ignite Transaction 对象在使用后需要关闭。

我的问题是这会产生什么影响。会导致泄漏或其他问题吗?

谢谢

最佳答案

从代码看,应该没有问题。 close() 等待 future (在执行 rollback() 时应该已经发生),然后如果事务是 COMMITTED 返回ROLLED_BACK。没有遗漏任何重要的东西。

关于java - #commit 或 #rollback 之后不调用 org.apache.ignite.transactions.Transaction#close 会导致泄漏/问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55582202/

相关文章:

java - Apache 的 HttpAsyncClient 在执行后永远不会返回

Java Selenium 和 Appium 不起作用无法启动 REST http 接口(interface)监听器

java - 数据快照中出现空指针异常字符串错误

java - 有没有升级到java se 7程序员认证考试的书?

python - Apache Ignite - 简单的 Python 示例

c# - Apache Ignite.NET LINQ 失败

java - Prometheus 通过 JMX 监控 Apache Ignite

docker - 哪些端口应该暴露在 docker 容器中以用于 apache ignite?

java - GridGain MapReduce 函数 G.grid().reduce() 中需要的清晰度

amazon-ec2 - AWS 上的 GridGain 集群在 VPC 中使用 TcpDiscoverySpi,而不是集群