Установка продолжительности жизни записи в бесконечности - PullRequest
0 голосов
/ 25 февраля 2019

Я использую Infinispan 7.2.5 с моим приложением Spring.

Я пытаюсь открыть транзакцию, заблокировать запись в кэше, выполнить некоторую логику и обновить запись в кэше в соответствии с моим BL - что означает, что я использую .put и установите значение обновленной записи в кэш + новый срок службы.В конце я фиксирую транскрипцию.

transactionManager.begin();
Object myValue = myCache.withFlags(Flag.FORCE_WRITE_LOCK).get(key);
// Doing some BL
myCache.withFlags(Flag.IGNORE_RETURN_VALUES).put(key, newValue, newLifeSpan, TimeUnit.MILLISECONDS);
transactionManager.commit();

Проблема в том, что в рамках транзакции Inifispan не может изменить продолжительность жизни на новую, и высвобождает запись в исходное время жизни.Я пытался сделать тот же процесс без транзакции, и все работает нормально.

Мои настройки кэша:

<replicated-cache name="myCache" mode="SYNC">
    <locking isolation="REPEATABLE_READ"/>
    <transaction transaction-manager-lookup="org.inifnispan.transaction.lookup.GenericTransactionManagerLookup" locking="PESSIMISTIC" mode="FULL_XA"/>
</replicated-cache>

Есть идеи, почему это происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...