任何人都可以帮我解决以下问题。
1>如何在缓存和数据库之间实现100%的一致性。如果我希望Gemfire和数据库都作为常规事务资源参与JTA事务(支持两阶段提交)。?
2 - ;是"最后的资源"优化保证100%的一致性?
3>什么是JTA事务管理器支持和测试"最后资源"优化
4>使用Gemfire支持和测试的外部事务管理器是什么?
答案 0 :(得分:1)
对于非最后一个资源JTA事务,GemFire注册为synchronization,因此它在事务结果中有发言权,但如果GemFire服务器在小窗口内死亡(在beforeCommit之间) )和afterCommit()调用,GemFire将与事务中的其他资源不一致)。当GemFire用作最后资源时,它会在事务结果中获得最终结果,因此该窗口实际上已关闭。
您需要查阅JTA事务管理器的文档,看看它们是否可以保证100%的一致性。
在GemFire中,使用weblogic测试最后一次资源优化,GemFire使用JTA事务管理器,该管理器使用以下名称注册JNDI:
"java:/TransactionManager"
"java:comp/TransactionManager"
"java:appserver/TransactionManager"
"java:pm/TransactionManager"
"java:comp/UserTransaction"