是否有可能从TransactionContext
与并发多线程访问TransactionalMap
..HazelCast TransactionalMap和并发线程访问
已委托xaResource
到现有的事务,用于transactionalContext
,得到TransactionalMap
,并发*transMap,put(K,V)*
,需要我的例外.. com.hazelcast.transaction.TransactionException:
交易无法获得密钥的锁定。 HazelCast版本:3.6.3。
网罗:
HazelcastXAResource xaResource = hazelcastInstance.getXAResource();
Transaction transaction = userTransactionManager.getTransaction();
transaction.enlistResource(xaResource);
TransactionalMap:
TransactionalMap<String,Serializable> transactionalMap=hcTransactionalContext.getMap("UUID");
Map<K,V> map = transactionalMap.get("uuid");
map.put(K,V);
异常1:
com.hazelcast.transaction.TransactionException: Transaction couldn't obtain lock for the key: uuid
例外2:
There is no suitable serializer for class com.hazelcast.map.impl.tx.TransactionalMapProxy
你好,你可以分享一个可执行的重现?到目前为止,我无法复制它。 – sertug
重复同样的步骤,事务性地图bove提到两次,(Put)并行于两个不同的线程,同时,将精确锁定在“transactionalMap.get(”uuid“);” – peaceUser