gpt4 book ai didi

java - infinispan 与实例级别的 Jta

转载 作者:行者123 更新时间:2023-12-02 03:30:14 27 4
gpt4 key购买 nike

有没有一种方法,我可以获取 infinispan 的单例实例,从而从实例级别(而不是从缓存级别)获取 XA 资源,并加入正在进行的 JTA 事务..!

ConfigurationBuilder builder = new ConfigurationBuilder();
builder.transaction().transactionMode(TransactionMode.TRANSACTIONAL);
builder.jmxStatistics().enable();
//builder.jmxStatistics()
// Construct a local cache manager using the configuration we have defined
DefaultCacheManager cacheManager = new DefaultCacheManager(builder.build());

尝试了上面的方法,这是在 jta 中自动假设的?!!

或者我必须使用,

GenericTransactionLookup.init()...!?请有人帮助我理解 Infinispan 中的内容...!

最佳答案

创建缓存不会向事务管理器注册任何内容。题外话,您的代码仅创建缓存管理器,默认缓存仅在您调用 getCache() 时启动,配置中的任何其他缓存也是如此。

每当您调用缓存操作并检测到正在运行的 JTA 事务时,事务缓存都会注册一个新的 XAResource 实例。如果它检测到 TransactionManager(通过 GenericTransactionManagerLookup)但没有正在运行的事务,它会首先创建一个 JTA 事务,运行该操作,然后提交该 JTA 事务。 (读取操作除外。)

您无法从 Infinispan 获取 XAResource 来通过 JTA 事务手动登记。您可以使用 cache.getAdvancedCache().getXAResource() 获取 XAResource,但您只能将其用于恢复。

关于java - infinispan 与实例级别的 Jta,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38200515/

27 4 0
文章推荐: ruby-on-rails - sprockets rails 和 sprockets gem 有什么区别?
文章推荐: html - 如何在具有透明背景的 Three.js Canvas 上绘制
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com