我最近注意到在调试一些问题时,一段写得不好的代码在调用org.apache.ignite.transactions.Transaction#close
后没有调用org.apache.ignite.transactions.Transaction#rollback
。它既没有使用try-with-resources,也没有使用它。
我知道并且在docs中也提到它,因为Ignite Transaction对象需要在使用后关闭。
我的问题是这有什么影响。它会导致泄漏或其他问题吗?
谢谢
从代码中瞥一眼,它应该不是问题。 close()
等待未来(这应该在做rollback()
时已经发生)然后如果交易是COMMITTED
或ROLLED_BACK
则返回。不缺少任何重要的东西