Al igual que las memorias caché locales de hebras, las memorias caché locales de transacciones sólo deben accederse cuando existe el contexto (transacción) correcto.
public void myMethod() {
...
Cache<String, String> txnCache = CacheManagerEjb.
getTransactionLocalCacheGroup().getCache("mycache");
String value = txnCache.get("key");
if(value == null) {
// realizar operación costosa para calcular el valor - este
// proceso sólo ocurre una vez por transacción
...
// y almacenar el resultado
txnCache.put("key", "value");
}
...
}