org.infinispan.loaders.cloud
Class CloudCacheStore
java.lang.Object
org.infinispan.loaders.AbstractCacheLoader
org.infinispan.loaders.AbstractCacheStore
org.infinispan.loaders.LockSupportCacheStore
org.infinispan.loaders.bucket.BucketBasedCacheStore
org.infinispan.loaders.cloud.CloudCacheStore
- All Implemented Interfaces:
- CacheLoader, CacheStore
public class CloudCacheStore
- extends BucketBasedCacheStore
The CloudCacheStore implementation that utilizes JClouds to communicate with cloud storage providers
such as Amazon's S3, Rackspace's Cloudfiles, or
any other such provider supported by JClouds.
This file store stores stuff in the following format:
http://{cloud-storage-provider}/{bucket}/{bucket_number}.bucket
- Since:
- 4.0
- Author:
- Manik Surtani, Adrian Cole
Method Summary |
void |
applyModifications(List<? extends Modification> modifications)
|
protected void |
clearLockSafe()
|
protected void |
fromStreamLockSafe(ObjectInput objectInput)
|
Class<? extends CacheStoreConfig> |
getConfigurationClass()
|
void |
init(CacheLoaderConfig cfg,
Cache<?,?> cache,
Marshaller m)
Used to initialize a cache loader. |
void |
init(CacheLoaderConfig cfg,
Cache<?,?> cache,
Marshaller m,
org.jclouds.blobstore.BlobStoreContext ctx,
org.jclouds.blobstore.BlobStore blobStore,
org.jclouds.blobstore.AsyncBlobStore asyncBlobStore,
boolean constructInternalBlobstores)
|
protected void |
insertBucket(Bucket bucket)
Inserts a new Bucket in the storage system. |
protected Set<InternalCacheEntry> |
loadAllLockSafe()
|
protected Bucket |
loadBucket(String hash)
Loads a Bucket from the store, based on the hash code of the bucket. |
protected void |
purgeInternal()
|
void |
start()
|
protected boolean |
supportsMultiThreadedPurge()
|
protected void |
toStreamLockSafe(ObjectOutput objectOutput)
|
protected void |
updateBucket(Bucket bucket)
Updates a bucket in the store with the Bucket passed in to the method. |
Methods inherited from class org.infinispan.loaders.LockSupportCacheStore |
acquireGlobalLock, clear, fromStream, getTotalLockCount, immediateLockForWriting, load, loadAll, lockForReading, lockForWriting, releaseGlobalLock, remove, store, toStream, unlock |
Methods inherited from class org.infinispan.loaders.AbstractCacheStore |
commit, getCacheStoreConfig, getConcurrencyLevel, getMarshaller, prepare, purgeExpired, removeAll, rollback, safeClose, safeClose, stop |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CloudCacheStore
public CloudCacheStore()
getConfigurationClass
public Class<? extends CacheStoreConfig> getConfigurationClass()
- Returns:
- the type of the
CacheLoaderConfig
bean used to configure this
implementation of CacheLoader
supportsMultiThreadedPurge
protected boolean supportsMultiThreadedPurge()
- Overrides:
supportsMultiThreadedPurge
in class AbstractCacheStore
init
public void init(CacheLoaderConfig cfg,
Cache<?,?> cache,
Marshaller m)
throws CacheLoaderException
- Description copied from interface:
CacheLoader
- Used to initialize a cache loader. Typically invoked by the
CacheLoaderManager
when setting up cache loaders.
- Specified by:
init
in interface CacheLoader
- Overrides:
init
in class LockSupportCacheStore
- Parameters:
cfg
- the cache loader configuration beancache
- cache associated with this cache loader. Implementations may use this to determine cache name when
selecting where refer to state in storage, for example, a different database table name.m
- marshaller to use when loading state from a stream, if supported by the implementation.
- Throws:
CacheLoaderException
init
public void init(CacheLoaderConfig cfg,
Cache<?,?> cache,
Marshaller m,
org.jclouds.blobstore.BlobStoreContext ctx,
org.jclouds.blobstore.BlobStore blobStore,
org.jclouds.blobstore.AsyncBlobStore asyncBlobStore,
boolean constructInternalBlobstores)
throws CacheLoaderException
- Throws:
CacheLoaderException
start
public void start()
throws CacheLoaderException
- Specified by:
start
in interface CacheLoader
- Overrides:
start
in class LockSupportCacheStore
- Throws:
CacheLoaderException
loadAllLockSafe
protected Set<InternalCacheEntry> loadAllLockSafe()
throws CacheLoaderException
- Specified by:
loadAllLockSafe
in class LockSupportCacheStore
- Throws:
CacheLoaderException
fromStreamLockSafe
protected void fromStreamLockSafe(ObjectInput objectInput)
throws CacheLoaderException
- Specified by:
fromStreamLockSafe
in class LockSupportCacheStore
- Throws:
CacheLoaderException
toStreamLockSafe
protected void toStreamLockSafe(ObjectOutput objectOutput)
throws CacheLoaderException
- Specified by:
toStreamLockSafe
in class LockSupportCacheStore
- Throws:
CacheLoaderException
clearLockSafe
protected void clearLockSafe()
- Specified by:
clearLockSafe
in class LockSupportCacheStore
loadBucket
protected Bucket loadBucket(String hash)
throws CacheLoaderException
- Description copied from class:
BucketBasedCacheStore
- Loads a Bucket from the store, based on the hash code of the bucket.
- Specified by:
loadBucket
in class BucketBasedCacheStore
- Parameters:
hash
- String representation of the Bucket's hash
- Returns:
- a Bucket if one exists, null otherwise.
- Throws:
CacheLoaderException
- in case of problems with the store.
purgeInternal
protected void purgeInternal()
throws CacheLoaderException
- Specified by:
purgeInternal
in class AbstractCacheStore
- Throws:
CacheLoaderException
insertBucket
protected void insertBucket(Bucket bucket)
throws CacheLoaderException
- Description copied from class:
BucketBasedCacheStore
- Inserts a new Bucket in the storage system. If the bucket already exists, this method should simply update the
store with the contents of the bucket - i.e., behave the same as
BucketBasedCacheStore.updateBucket(Bucket)
.
- Specified by:
insertBucket
in class BucketBasedCacheStore
- Parameters:
bucket
- bucket to insert
- Throws:
CacheLoaderException
- in case of problems with the store.
applyModifications
public void applyModifications(List<? extends Modification> modifications)
throws CacheLoaderException
- Overrides:
applyModifications
in class AbstractCacheStore
- Throws:
CacheLoaderException
updateBucket
protected void updateBucket(Bucket bucket)
throws CacheLoaderException
- Description copied from class:
BucketBasedCacheStore
- Updates a bucket in the store with the Bucket passed in to the method. This method assumes that the bucket
already exists in the store.
- Specified by:
updateBucket
in class BucketBasedCacheStore
- Parameters:
bucket
- bucket to update.
- Throws:
CacheLoaderException
- in case of problems with the store.
Copyright © 2010 JBoss, a division of Red Hat. All Rights Reserved.