Methods Summary |
---|
private void | activateCacheRegion(java.lang.String regionName)
String fqnString = regionFqn.toString();
// FIXME -- find a way that doesn't involve this API
if (cache.getMarshaller().isInactive(fqnString))
{
try
{
// Only register the classloader if it's not a shared region.
// If it's shared, no single classloader is valid
if (!SecondLevelCacheUtil.isSharedClassLoaderRegion(regionName))
{
cache.registerClassLoader(fqnString, Thread.currentThread().getContextClassLoader());
}
cache.activateRegion(fqnString);
}
catch (Exception e)
{
throw new CacheException("Problem activating region " + regionName, e);
}
}
else
{
log.debug("activateCacheRegion(): Region " + fqnString + " is already active");
}
|
public void | clear()
try {
Option option = new Option();
option.setDataVersion( NonLockingDataVersion.INSTANCE );
option.setCacheModeLocal(localWritesOnly);
cache.remove( regionFqn, option );
}
catch (Exception e) {
throw new CacheException(e);
}
|
public void | destroy()
try {
Option option = new Option();
option.setCacheModeLocal( true );
option.setFailSilently( true );
option.setDataVersion( NonLockingDataVersion.INSTANCE );
cache.remove( regionFqn, option );
if (cache.getUseRegionBasedMarshalling() && !SecondLevelCacheUtil.isSharedClassLoaderRegion(regionName))
{
inactivateCacheRegion();
}
}
catch( Exception e ) {
throw new CacheException( e );
}
|
public java.lang.Object | get(java.lang.Object key)
try {
Option option = new Option();
option.setFailSilently( true );
// option.setDataVersion( NonLockingDataVersion.INSTANCE );
return cache.get( new Fqn( regionFqn, key ), ITEM, option );
}
catch (Exception e) {
throw new CacheException(e);
}
|
public long | getElementCountInMemory()
try {
Set children = cache.getChildrenNames( regionFqn );
return children == null ? 0 : children.size();
}
catch (Exception e) {
throw new CacheException(e);
}
|
public long | getElementCountOnDisk()
return 0;
|
public java.lang.String | getRegionName()
return regionName;
|
public long | getSizeInMemory()
return -1;
|
public int | getTimeout()
return 600; //60 seconds
|
private void | inactivateCacheRegion()
String fqnString = regionFqn.toString();
// FIXME -- find a way that doesn't involve this API
if (!cache.getMarshaller().isInactive(fqnString))
{
try
{
cache.inactivateRegion(fqnString);
cache.unregisterClassLoader(fqnString);
}
catch (Exception e)
{
throw new CacheException("Problem activating region " + fqnString, e);
}
}
else
{
log.debug("inactivateCacheRegion(): Region " + fqnString + " is already inactive");
}
|
public void | lock(java.lang.Object key)
throw new UnsupportedOperationException( "TreeCache is a fully transactional cache: " + regionName );
|
public long | nextTimestamp()
return System.currentTimeMillis() / 100;
|
public void | put(java.lang.Object key, java.lang.Object value)
try {
log.trace( "performing put() into region [" + regionName + "]" );
// do the put outside the scope of the JTA txn
Option option = new Option();
option.setFailSilently( true );
option.setDataVersion( NonLockingDataVersion.INSTANCE );
option.setCacheModeLocal(localWritesOnly);
cache.put( new Fqn( regionFqn, key ), ITEM, value, option );
}
catch (TimeoutException te) {
//ignore!
log.debug("ignoring write lock acquisition failure");
}
catch (Exception e) {
throw new CacheException(e);
}
|
public java.lang.Object | read(java.lang.Object key)
try {
return cache.get( new Fqn( regionFqn, key ), ITEM );
}
catch (Exception e) {
throw new CacheException(e);
}
|
public void | remove(java.lang.Object key)
try {
// tree cache in optimistic mode seems to have as very difficult
// time with remove calls on non-existent nodes (NPEs)...
if ( cache.get( new Fqn( regionFqn, key ), ITEM ) != null ) {
Option option = new Option();
option.setDataVersion( NonLockingDataVersion.INSTANCE );
option.setCacheModeLocal(localWritesOnly);
cache.remove( new Fqn( regionFqn, key ), option );
}
else {
log.trace( "skipping remove() call as the underlying node did not seem to exist" );
}
}
catch (Exception e) {
throw new CacheException(e);
}
|
public void | setSource(org.hibernate.cache.OptimisticCacheSource source)
this.source = source;
|
public java.util.Map | toMap()
try {
Map result = new HashMap();
Set childrenNames = cache.getChildrenNames( regionFqn );
if (childrenNames != null) {
Iterator iter = childrenNames.iterator();
while ( iter.hasNext() ) {
Object key = iter.next();
result.put(
key,
cache.get( new Fqn( regionFqn, key ), ITEM )
);
}
}
return result;
}
catch (Exception e) {
throw new CacheException(e);
}
|
public java.lang.String | toString()
return "OptimisticJBCCache(" + regionName + ')";
|
public void | unlock(java.lang.Object key)
throw new UnsupportedOperationException( "TreeCache is a fully transactional cache: " + regionName );
|
public void | update(java.lang.Object key, java.lang.Object value)
try {
Option option = new Option();
option.setDataVersion( NonLockingDataVersion.INSTANCE );
option.setCacheModeLocal(localWritesOnly);
cache.put( new Fqn( regionFqn, key ), ITEM, value, option );
}
catch (Exception e) {
throw new CacheException(e);
}
|
public void | writeInsert(java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion)
writeUpdate( key, value, currentVersion, null );
|
public void | writeLoad(java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion)
try {
Option option = new Option();
option.setFailSilently( true );
option.setDataVersion( NonLockingDataVersion.INSTANCE );
option.setCacheModeLocal(localWritesOnly);
cache.remove( new Fqn( regionFqn, key ), "ITEM", option );
option = new Option();
option.setFailSilently( true );
DataVersion dv = ( source != null && source.isVersioned() )
? new DataVersionAdapter( currentVersion, currentVersion, source.getVersionComparator(), source.toString() )
: NonLockingDataVersion.INSTANCE;
option.setDataVersion( dv );
option.setCacheModeLocal(localWritesOnly);
cache.put( new Fqn( regionFqn, key ), ITEM, value, option );
}
catch (Exception e) {
throw new CacheException(e);
}
|
public void | writeUpdate(java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion, java.lang.Object previousVersion)
try {
Option option = new Option();
DataVersion dv = ( source != null && source.isVersioned() )
? new DataVersionAdapter( currentVersion, previousVersion, source.getVersionComparator(), source.toString() )
: NonLockingDataVersion.INSTANCE;
option.setDataVersion( dv );
option.setCacheModeLocal(localWritesOnly);
cache.put( new Fqn( regionFqn, key ), ITEM, value, option );
}
catch ( Exception e ) {
throw new CacheException( e );
}
|