【问题标题】:Infinispan - Transaction Manager over Hot Rod Client APIInfinispan - Hot Rod 客户端 API 上的事务管理器
【发布时间】:2022-01-04 05:13:45
【问题描述】:

我在 hot rod 客户端上使用 infinispan 12.0.2 FINAL 但我无法让事务管理器工作。

这是我配置缓存的方式:

ConfigurationBuilder builder = new ConfigurationBuilder();
    builder.clustering().cacheMode(CacheMode.DIST_SYNC);
    builder.locking().isolationLevel(IsolationLevel.REPEATABLE_READ);
    builder.transaction().lockingMode(LockingMode.PESSIMISTIC);
    builder.transaction().transactionMode(org.infinispan.transaction.TransactionMode.TRANSACTIONAL);
    builder.transaction().transactionManagerLookup(org.infinispan.client.hotrod.transaction.lookup.GenericTransactionManagerLookup.getInstance());          
rcm.administration().withFlags(CacheContainerAdmin.AdminFlag.VOLATILE).getOrCreateCache(cacheName,
                builder.build());       

但每次我尝试通过 remoteCachne.getTransactionManager 访问事务时,我都会得到事务管理器的空值。
我无法弄清楚这个问题。请帮忙。

【问题讨论】:

    标签: java spring spring-boot transactions infinispan


    【解决方案1】:

    在服务器缓存中启用事务后,您还需要在远程缓存中启用事务。

    查看Hot Rod Documentation如何操作。

    【讨论】:

    • 是的,即使在这样做之后,我也发现缓存不是事务性的。
    • 你有复制器吗?
    • 看起来 LockObtainFailedException 来自 Lucene,不幸的是,我以前从未使用过 Lucene :( Infinispan 锁配置不会影响 Lucene 锁。
    猜你喜欢
    • 2015-07-13
    • 2018-07-27
    • 1970-01-01
    • 2015-08-06
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 2017-08-25
    相关资源
    最近更新 更多