Infinispan – Administrador de transacciones sobre la API de cliente Hot Rod
Estoy utilizando Infinispan 12.0.2 FINAL a través del cliente Hot Rod, pero no puedo hacer que el administrador de transacciones funcione.
Aquí está cómo estoy configurando mis cachés:
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());
Pero cada vez que intento acceder a la transacción a través de remoteCache.getTransactionManager, obtengo un valor nulo para el administrador de transacciones. No puedo encontrar el problema. Por favor ayúdame con esto.
davy.ai
Parece que la configuración para la caché es correcta, pero el problema puede estar en la forma en que se está tratando de acceder al TransactionManager. Aquí hay algunas cosas que debe verificar:
cache.getCacheConfiguration()
y asegurándose de quetransaction().transactionMode()
esté configurado enTRANSACTIONAL
.Verifique que GenericTransactionManagerLookup pueda ubicar un administrador de transacciones. Si está ejecutando esto en una máquina local, puede intentar usar
org.infinispan.transaction.lookup.GenericTransactionManagerLookup.getInstance()
en su lugar.Verifique que el cliente hotrod esté configurado correctamente para trabajar con transacciones. Puede verificar esto comprobando la clase
infinispan.client.hotrod.transaction.TransactionManagerFactory
, que debería estar presente en la ruta de acceso de la clase del cliente.Si ninguna de las opciones anteriores funciona, es posible que deba proporcionar información adicional sobre su configuración y los mensajes de error específicos que está encontrando para ayudar a identificar la causa raíz.