208 boolean replaced =
false;
210 V session = oldVersionEntity.getEntity();
212 while (!replaced && iteration < InfinispanUtil.MAXIMUM_REPLACE_RETRIES) {
218 replaced = CacheDecorators.skipCacheStore(
cache).replace(key, oldVersionEntity, newVersionEntity);
222 if (
logger.isDebugEnabled()) {
223 logger.debugf(
"Replace failed for entity: %s, old version %s, new version %s. Will try again", key, oldVersionEntity.getVersion(), newVersionEntity.getVersion());
226 oldVersionEntity =
cache.get(key);
228 if (oldVersionEntity == null) {
229 logger.debugf(
"Entity %s not found. Maybe removed in the meantime. Replace task will be ignored", key);
233 session = oldVersionEntity.getEntity();
235 task.runUpdate(session);
237 if (
logger.isTraceEnabled()) {
238 logger.tracef(
"Replace SUCCESS for entity: %s . old version: %d, new version: %d", key, oldVersionEntity.getVersion(), newVersionEntity.getVersion());
244 logger.warnf(
"Failed to replace entity '%s' in cache '%s'", key,
cache.getName());
final Cache< K, SessionEntityWrapper< V > > cache
Definition: InfinispanChangelogBasedTransaction.java:44
static final Logger logger
Definition: InfinispanChangelogBasedTransaction.java:40
SessionEntityWrapper< V > generateNewVersionAndWrapEntity(V entity, Map< String, String > localMetadata)
Definition: InfinispanChangelogBasedTransaction.java:254