java - HazelCast TransactionalMap 和并发线程访问

标签 java multithreading hazelcast jta distributed-transactions

是否可以使用并发多线程TransactionContext访问TransactionalMap..

已将xaResource登记到现有事务中,使用transactionalContext来获取TransactionalMap,并发*transMap,put(K, V)*,让我遇到了一个异常(exception).. com.hazelcast.transaction.TransactionException: 事务无法获取 key 的锁HazelCast 版本:3.6.3

入伍:

HazelcastXAResource xaResource = hazelcastInstance.getXAResource();
Transaction transaction = userTransactionManager.getTransaction();
transaction.enlistResource(xaResource);

事务映射:

TransactionalMap<String,Serializable>  transactionalMap=hcTransactionalContext.getMap("UUID");
    Map<K,V> map = transactionalMap.get("uuid");
             map.put(K,V);

异常(exception)1:

 com.hazelcast.transaction.TransactionException: Transaction couldn't obtain lock for the key: uuid

异常(exception)2:

There is no suitable serializer for class com.hazelcast.map.impl.tx.TransactionalMapProxy

最佳答案

Hazelcast 中的事务设计为由单线程工作,因此不可能在事务中对 TransactionalMap 进行并发访问。 如果您解释一下您的用例,也许我们可以想出更好的方法来实现它?

关于java - HazelCast TransactionalMap 和并发线程访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38279607/

相关文章:

java - scala - 将 Mahout vector 转换为数组

java - 处理更多客户

c# - Richtextbox.invoke,C#,窗体仍挂

amazon-web-services - 在相同对等点的集群中调度任务

java - hibernate 过滤器不适用于子选择查询

java - LWJGL - 渲染到帧缓冲区显示错误的结果

ios - 回调CFNetwork线程

java - 关于通过 Google Places 自动完成 API 创建代理 API 的建议

java - 使用 iMap 的 Hazelcast 分布式锁

java - 在 Collections.synchronizedX 的结果上调用 Java 8 Collection 默认方法是否安全?