[HHH-4484] When JBoss Cache is configured for INVALIDATION don't send cluster message on entity insert
git-svn-id: https://svn.jboss.org/repos/hibernate/core/trunk@17659 1b8cb986-b30d-0410-93ca-fae66ebed9b2
This commit is contained in:
parent
0ddf421e78
commit
c32a7a00a5
|
@ -102,6 +102,9 @@ public class OptimisticTransactionalAccessDelegate extends TransactionalAccessDe
|
||||||
region.ensureRegionRootExists();
|
region.ensureRegionRootExists();
|
||||||
|
|
||||||
Option opt = getDataVersionOption(version, null);
|
Option opt = getDataVersionOption(version, null);
|
||||||
|
if (this.invalidation) {
|
||||||
|
opt.setCacheModeLocal(true);
|
||||||
|
}
|
||||||
CacheHelper.put(cache, regionFqn, key, value, opt);
|
CacheHelper.put(cache, regionFqn, key, value, opt);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,7 @@ import org.hibernate.cache.jbc.BasicRegionAdapter;
|
||||||
import org.hibernate.cache.jbc.util.CacheHelper;
|
import org.hibernate.cache.jbc.util.CacheHelper;
|
||||||
import org.jboss.cache.Cache;
|
import org.jboss.cache.Cache;
|
||||||
import org.jboss.cache.Fqn;
|
import org.jboss.cache.Fqn;
|
||||||
|
import org.jboss.cache.config.Option;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Defines the strategy for transactional access to entity or collection data in
|
* Defines the strategy for transactional access to entity or collection data in
|
||||||
|
@ -49,6 +50,7 @@ public class TransactionalAccessDelegate {
|
||||||
|
|
||||||
protected final Cache cache;
|
protected final Cache cache;
|
||||||
protected final Fqn regionFqn;
|
protected final Fqn regionFqn;
|
||||||
|
protected final boolean invalidation;
|
||||||
protected final BasicRegionAdapter region;
|
protected final BasicRegionAdapter region;
|
||||||
protected final PutFromLoadValidator putValidator;
|
protected final PutFromLoadValidator putValidator;
|
||||||
|
|
||||||
|
@ -57,6 +59,7 @@ public class TransactionalAccessDelegate {
|
||||||
this.cache = adapter.getCacheInstance();
|
this.cache = adapter.getCacheInstance();
|
||||||
this.regionFqn = adapter.getRegionFqn();
|
this.regionFqn = adapter.getRegionFqn();
|
||||||
this.putValidator = validator;
|
this.putValidator = validator;
|
||||||
|
this.invalidation = CacheHelper.isClusteredInvalidation(this.cache);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object get(Object key, long txTimestamp) throws CacheException {
|
public Object get(Object key, long txTimestamp) throws CacheException {
|
||||||
|
@ -125,8 +128,14 @@ public class TransactionalAccessDelegate {
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
region.ensureRegionRootExists();
|
region.ensureRegionRootExists();
|
||||||
|
if (invalidation) {
|
||||||
CacheHelper.put(cache, regionFqn, key, value);
|
Option opt = new Option();
|
||||||
|
opt.setCacheModeLocal(true);
|
||||||
|
CacheHelper.put(cache, regionFqn, key, value, opt);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
CacheHelper.put(cache, regionFqn, key, value);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue