org.infinispan.spring.support.embedded
Class InfinispanNamedEmbeddedCacheFactoryBean<K,V>

java.lang.Object
  extended by org.infinispan.spring.support.embedded.InfinispanNamedEmbeddedCacheFactoryBean<K,V>
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.FactoryBean<Cache<K,V>>, org.springframework.beans.factory.InitializingBean

public class InfinispanNamedEmbeddedCacheFactoryBean<K,V>
extends Object
implements org.springframework.beans.factory.FactoryBean<Cache<K,V>>, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean

A FactoryBean for creating a native named Infinispan org.infinispan.Cache, delegating to a configurable org.infinispan.manager.EmbeddedCacheManager. If no cache name is explicitly set, this FactoryBean's beanName will be used instead.

Beyond merely creating named Cache instances, this FactoryBean offers great flexibility in configuring those Caches. It has setters for all non-global configuration settings, i.e. all settings that are specific to a single Cache. The configuration settings thus defined override those settings obtained from the EmbeddedCacheManager.

There are different configuration modes that control with what Configuration to start before further customizing it as described above:

In addition to creating a named Cache this FactoryBean does also control that Cache' lifecycle by shutting it down when the enclosing Spring application context is closed. It is therefore advisable to always use this FactoryBean when creating a named Cache.

Author:
Olaf Bergner, Marius Bogoevici

Constructor Summary
InfinispanNamedEmbeddedCacheFactoryBean()
           
 
Method Summary
 void afterPropertiesSet()
           
 void destroy()
          Shuts down the org.infinispan.Cache created by this FactoryBean.
 Cache<K,V> getObject()
           
 Class<? extends Cache> getObjectType()
           
 boolean isSingleton()
          Always returns true.
 void setAlwaysProvideInMemoryState(Boolean alwaysProvideInMemoryState)
           
 void setBeanName(String name)
           
 void setCacheLoaderManagerConfig(CacheLoaderManagerConfig cacheLoaderManagerConfig)
           
 void setCacheModeString(String cacheModeString)
           
 void setCacheName(String cacheName)
           Sets the name of the org.infinispan.Cache to be created.
 void setConcurrencyLevel(Integer concurrencyLevel)
           
 void setConfigurationTemplateMode(String configurationTemplateMode)
           
 void setConsistentHashClass(String consistentHashClass)
           
 void setCustomInterceptors(List<CustomInterceptorConfig> customInterceptors)
           
 void setDeadlockDetectionSpinDuration(Long eagerDeadlockSpinDuration)
           
 void setEagerLockSingleNode(Boolean eagerLockSingleNode)
           
 void setEnableDeadlockDetection(Boolean useEagerDeadlockDetection)
           
 void setEvictionMaxEntries(Integer evictionMaxEntries)
           
 void setEvictionStrategy(EvictionStrategy evictionStrategy)
           
 void setEvictionStrategyClass(String evictionStrategyClass)
           
 void setEvictionThreadPolicy(EvictionThreadPolicy evictionThreadPolicy)
           
 void setEvictionThreadPolicyClass(String evictionThreadPolicyClass)
           
 void setExpirationLifespan(Long expirationLifespan)
           
 void setExpirationMaxIdle(Long expirationMaxIdle)
           
 void setExpirationWakeUpInterval(Long expirationWakeUpInterval)
           
 void setExposeJmxStatistics(Boolean exposeJmxStatistics)
           
 void setFetchInMemoryState(Boolean fetchInMemoryState)
           
 void setIndexingEnabled(Boolean indexingEnabled)
           
 void setIndexLocalOnly(Boolean indexLocalOnly)
           
 void setInfinispanEmbeddedCacheManager(EmbeddedCacheManager infinispanEmbeddedCacheManager)
           Sets the org.infinispan.manager.EmbeddedCacheManager to be used for creating our Cache instance.
 void setInvocationBatchingEnabled(Boolean invocationBatchingEnabled)
           
 void setIsolationLevel(IsolationLevel isolationLevel)
           
 void setIsolationLevelClass(String isolationLevelClass)
           
 void setL1CacheEnabled(Boolean l1CacheEnabled)
           
 void setL1Lifespan(Long l1Lifespan)
           
 void setL1OnRehash(Boolean l1OnRehash)
           
 void setLockAcquisitionTimeout(Long lockAcquisitionTimeout)
           
 void setNumOwners(Integer numOwners)
           
 void setRehashEnabled(Boolean rehashEnabled)
           
 void setRehashRpcTimeout(Long rehashRpcTimeout)
           
 void setRehashWaitTime(Long rehashWaitTime)
           
 void setReplQueueClass(String replQueueClass)
           
 void setReplQueueInterval(Long replQueueInterval)
           
 void setReplQueueMaxElements(Integer replQueueMaxElements)
           
 void setStateRetrievalChunkSize(Integer stateRetrievalChunkSize)
           
 void setStateRetrievalInitialRetryWaitTime(Long stateRetrievalInitialRetryWaitTime)
           
 void setStateRetrievalLogFlushTimeout(Long stateRetrievalLogFlushTimeout)
           
 void setStateRetrievalMaxNonProgressingLogWrites(Integer stateRetrievalMaxNonProgressingLogWrites)
           
 void setStateRetrievalNumRetries(Integer stateRetrievalNumRetries)
           
 void setStateRetrievalRetryWaitTimeIncreaseFactor(Integer stateRetrievalRetryWaitTimeIncreaseFactor)
           
 void setStateRetrievalTimeout(Long stateRetrievalTimeout)
           
 void setSyncCommitPhase(Boolean syncCommitPhase)
           
 void setSyncReplTimeout(Long syncReplTimeout)
           
 void setSyncRollbackPhase(Boolean syncRollbackPhase)
           
 void setTransactionManagerLookup(TransactionManagerLookup transactionManagerLookup)
           
 void setTransactionManagerLookupClass(String transactionManagerLookupClass)
           
 void setUnsafeUnreliableReturnValues(Boolean unsafeUnreliableReturnValues)
           
 void setUseAsyncMarshalling(Boolean useAsyncMarshalling)
           
 void setUseEagerLocking(Boolean useEagerLocking)
           
 void setUseLazyDeserialization(Boolean useLazyDeserialization)
           
 void setUseLockStriping(Boolean useLockStriping)
           
 void setUseReplQueue(Boolean useReplQueue)
           
 void setWriteSkewCheck(Boolean writeSkewCheck)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InfinispanNamedEmbeddedCacheFactoryBean

public InfinispanNamedEmbeddedCacheFactoryBean()
Method Detail

afterPropertiesSet

public void afterPropertiesSet()
                        throws Exception
Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
Throws:
Exception
See Also:
InitializingBean.afterPropertiesSet()

getObject

public Cache<K,V> getObject()
                     throws Exception
Specified by:
getObject in interface org.springframework.beans.factory.FactoryBean<Cache<K,V>>
Throws:
Exception
See Also:
FactoryBean.getObject()

getObjectType

public Class<? extends Cache> getObjectType()
Specified by:
getObjectType in interface org.springframework.beans.factory.FactoryBean<Cache<K,V>>
See Also:
FactoryBean.getObjectType()

isSingleton

public boolean isSingleton()
Always returns true.

Specified by:
isSingleton in interface org.springframework.beans.factory.FactoryBean<Cache<K,V>>
Returns:
Always true
See Also:
FactoryBean.isSingleton()

setBeanName

public void setBeanName(String name)
Specified by:
setBeanName in interface org.springframework.beans.factory.BeanNameAware
See Also:
BeanNameAware.setBeanName(java.lang.String)

destroy

public void destroy()
             throws Exception
Shuts down the org.infinispan.Cache created by this FactoryBean.

Specified by:
destroy in interface org.springframework.beans.factory.DisposableBean
Throws:
Exception
See Also:
DisposableBean.destroy(), Lifecycle.stop()

setCacheName

public void setCacheName(String cacheName)

Sets the name of the org.infinispan.Cache to be created. If no explicit cacheName is set, this FactoryBean will use its beanName as the cacheName.

Parameters:
cacheName - The name of the org.infinispan.Cache to be created

setInfinispanEmbeddedCacheManager

public void setInfinispanEmbeddedCacheManager(EmbeddedCacheManager infinispanEmbeddedCacheManager)

Sets the org.infinispan.manager.EmbeddedCacheManager to be used for creating our Cache instance. Note that this is a mandatory property.

Parameters:
infinispanEmbeddedCacheManager - The org.infinispan.manager.EmbeddedCacheManager to be used for creating our Cache instance

setConfigurationTemplateMode

public void setConfigurationTemplateMode(String configurationTemplateMode)
                                  throws IllegalArgumentException
Parameters:
configurationTemplateMode -
Throws:
IllegalArgumentException

setDeadlockDetectionSpinDuration

public void setDeadlockDetectionSpinDuration(Long eagerDeadlockSpinDuration)
Parameters:
eagerDeadlockSpinDuration -
See Also:
ConfigurationOverrides.setDeadlockDetectionSpinDuration(java.lang.Long)

setEnableDeadlockDetection

public void setEnableDeadlockDetection(Boolean useEagerDeadlockDetection)
Parameters:
useEagerDeadlockDetection -
See Also:
ConfigurationOverrides.setEnableDeadlockDetection(java.lang.Boolean)

setUseLockStriping

public void setUseLockStriping(Boolean useLockStriping)
Parameters:
useLockStriping -
See Also:
ConfigurationOverrides.setUseLockStriping(java.lang.Boolean)

setUnsafeUnreliableReturnValues

public void setUnsafeUnreliableReturnValues(Boolean unsafeUnreliableReturnValues)
Parameters:
unsafeUnreliableReturnValues -
See Also:
ConfigurationOverrides.setUnsafeUnreliableReturnValues(java.lang.Boolean)

setRehashRpcTimeout

public void setRehashRpcTimeout(Long rehashRpcTimeout)
Parameters:
rehashRpcTimeout -
See Also:
ConfigurationOverrides.setRehashRpcTimeout(java.lang.Long)

setWriteSkewCheck

public void setWriteSkewCheck(Boolean writeSkewCheck)
Parameters:
writeSkewCheck -
See Also:
ConfigurationOverrides.setWriteSkewCheck(java.lang.Boolean)

setConcurrencyLevel

public void setConcurrencyLevel(Integer concurrencyLevel)
Parameters:
concurrencyLevel -
See Also:
ConfigurationOverrides.setConcurrencyLevel(java.lang.Integer)

setReplQueueMaxElements

public void setReplQueueMaxElements(Integer replQueueMaxElements)
Parameters:
replQueueMaxElements -
See Also:
ConfigurationOverrides.setReplQueueMaxElements(java.lang.Integer)

setReplQueueInterval

public void setReplQueueInterval(Long replQueueInterval)
Parameters:
replQueueInterval -
See Also:
ConfigurationOverrides.setReplQueueInterval(java.lang.Long)

setReplQueueClass

public void setReplQueueClass(String replQueueClass)
Parameters:
replQueueClass -
See Also:
ConfigurationOverrides.setReplQueueClass(java.lang.String)

setExposeJmxStatistics

public void setExposeJmxStatistics(Boolean exposeJmxStatistics)
Parameters:
exposeJmxStatistics -
See Also:
ConfigurationOverrides.setExposeJmxStatistics(java.lang.Boolean)

setInvocationBatchingEnabled

public void setInvocationBatchingEnabled(Boolean invocationBatchingEnabled)
Parameters:
invocationBatchingEnabled -
See Also:
ConfigurationOverrides.setInvocationBatchingEnabled(java.lang.Boolean)

setFetchInMemoryState

public void setFetchInMemoryState(Boolean fetchInMemoryState)
Parameters:
fetchInMemoryState -
See Also:
ConfigurationOverrides.setFetchInMemoryState(java.lang.Boolean)

setAlwaysProvideInMemoryState

public void setAlwaysProvideInMemoryState(Boolean alwaysProvideInMemoryState)
Parameters:
alwaysProvideInMemoryState -
See Also:
ConfigurationOverrides.setAlwaysProvideInMemoryState(java.lang.Boolean)

setLockAcquisitionTimeout

public void setLockAcquisitionTimeout(Long lockAcquisitionTimeout)
Parameters:
lockAcquisitionTimeout -
See Also:
ConfigurationOverrides.setLockAcquisitionTimeout(java.lang.Long)

setSyncReplTimeout

public void setSyncReplTimeout(Long syncReplTimeout)
Parameters:
syncReplTimeout -
See Also:
ConfigurationOverrides.setSyncReplTimeout(java.lang.Long)

setCacheModeString

public void setCacheModeString(String cacheModeString)
Parameters:
cacheModeString -
See Also:
ConfigurationOverrides.setCacheModeString(java.lang.String)

setExpirationWakeUpInterval

public void setExpirationWakeUpInterval(Long expirationWakeUpInterval)
Parameters:
expirationWakeUpInterval -
See Also:
ConfigurationOverrides.setExpirationWakeUpInterval(Long)

setEvictionStrategy

public void setEvictionStrategy(EvictionStrategy evictionStrategy)
Parameters:
evictionStrategy -
See Also:
ConfigurationOverrides.setEvictionStrategy(org.infinispan.eviction.EvictionStrategy)

setEvictionStrategyClass

public void setEvictionStrategyClass(String evictionStrategyClass)
Parameters:
evictionStrategyClass -
See Also:
ConfigurationOverrides.setEvictionStrategyClass(java.lang.String)

setEvictionThreadPolicy

public void setEvictionThreadPolicy(EvictionThreadPolicy evictionThreadPolicy)
Parameters:
evictionThreadPolicy -
See Also:
ConfigurationOverrides.setEvictionThreadPolicy(org.infinispan.eviction.EvictionThreadPolicy)

setEvictionThreadPolicyClass

public void setEvictionThreadPolicyClass(String evictionThreadPolicyClass)
Parameters:
evictionThreadPolicyClass -
See Also:
ConfigurationOverrides.setEvictionThreadPolicyClass(java.lang.String)

setEvictionMaxEntries

public void setEvictionMaxEntries(Integer evictionMaxEntries)
Parameters:
evictionMaxEntries -
See Also:
ConfigurationOverrides.setEvictionMaxEntries(java.lang.Integer)

setExpirationLifespan

public void setExpirationLifespan(Long expirationLifespan)
Parameters:
expirationLifespan -
See Also:
ConfigurationOverrides.setExpirationLifespan(java.lang.Long)

setExpirationMaxIdle

public void setExpirationMaxIdle(Long expirationMaxIdle)
Parameters:
expirationMaxIdle -
See Also:
ConfigurationOverrides.setExpirationMaxIdle(java.lang.Long)

setTransactionManagerLookupClass

public void setTransactionManagerLookupClass(String transactionManagerLookupClass)
Parameters:
transactionManagerLookupClass -
See Also:
ConfigurationOverrides.setTransactionManagerLookupClass(java.lang.String)

setTransactionManagerLookup

public void setTransactionManagerLookup(TransactionManagerLookup transactionManagerLookup)
Parameters:
transactionManagerLookup -
See Also:
ConfigurationOverrides.setTransactionManagerLookup(org.infinispan.transaction.lookup.TransactionManagerLookup)

setCacheLoaderManagerConfig

public void setCacheLoaderManagerConfig(CacheLoaderManagerConfig cacheLoaderManagerConfig)
Parameters:
cacheLoaderManagerConfig -
See Also:
ConfigurationOverrides.setCacheLoaderManagerConfig(org.infinispan.config.CacheLoaderManagerConfig)

setSyncCommitPhase

public void setSyncCommitPhase(Boolean syncCommitPhase)
Parameters:
syncCommitPhase -
See Also:
ConfigurationOverrides.setSyncCommitPhase(java.lang.Boolean)

setSyncRollbackPhase

public void setSyncRollbackPhase(Boolean syncRollbackPhase)
Parameters:
syncRollbackPhase -
See Also:
ConfigurationOverrides.setSyncRollbackPhase(java.lang.Boolean)

setUseEagerLocking

public void setUseEagerLocking(Boolean useEagerLocking)
Parameters:
useEagerLocking -
See Also:
ConfigurationOverrides.setUseEagerLocking(java.lang.Boolean)

setEagerLockSingleNode

public void setEagerLockSingleNode(Boolean eagerLockSingleNode)
Parameters:
eagerLockSingleNode -
See Also:
ConfigurationOverrides.setEagerLockSingleNode(java.lang.Boolean)

setUseReplQueue

public void setUseReplQueue(Boolean useReplQueue)
Parameters:
useReplQueue -
See Also:
ConfigurationOverrides.setUseReplQueue(java.lang.Boolean)

setIsolationLevel

public void setIsolationLevel(IsolationLevel isolationLevel)
Parameters:
isolationLevel -
See Also:
ConfigurationOverrides.setIsolationLevel(org.infinispan.util.concurrent.IsolationLevel)

setStateRetrievalTimeout

public void setStateRetrievalTimeout(Long stateRetrievalTimeout)
Parameters:
stateRetrievalTimeout -
See Also:
ConfigurationOverrides.setStateRetrievalTimeout(java.lang.Long)

setStateRetrievalLogFlushTimeout

public void setStateRetrievalLogFlushTimeout(Long stateRetrievalLogFlushTimeout)
Parameters:
stateRetrievalLogFlushTimeout -
See Also:
ConfigurationOverrides.setStateRetrievalLogFlushTimeout(java.lang.Long)

setStateRetrievalMaxNonProgressingLogWrites

public void setStateRetrievalMaxNonProgressingLogWrites(Integer stateRetrievalMaxNonProgressingLogWrites)
Parameters:
stateRetrievalMaxNonProgressingLogWrites -
See Also:
ConfigurationOverrides.setStateRetrievalMaxNonProgressingLogWrites(java.lang.Integer)

setStateRetrievalChunkSize

public void setStateRetrievalChunkSize(Integer stateRetrievalChunkSize)
Parameters:
stateRetrievalChunkSize -
See Also:
ConfigurationOverrides.setStateRetrievalMaxNonProgressingLogWrites(java.lang.Integer)

setStateRetrievalInitialRetryWaitTime

public void setStateRetrievalInitialRetryWaitTime(Long stateRetrievalInitialRetryWaitTime)
Parameters:
stateRetrievalInitialRetryWaitTime -
See Also:
ConfigurationOverrides.setStateRetrievalInitialRetryWaitTime(java.lang.Long)

setStateRetrievalRetryWaitTimeIncreaseFactor

public void setStateRetrievalRetryWaitTimeIncreaseFactor(Integer stateRetrievalRetryWaitTimeIncreaseFactor)
Parameters:
stateRetrievalRetryWaitTimeIncreaseFactor -
See Also:
ConfigurationOverrides.setStateRetrievalRetryWaitTimeIncreaseFactor(java.lang.Integer)

setStateRetrievalNumRetries

public void setStateRetrievalNumRetries(Integer stateRetrievalNumRetries)
Parameters:
stateRetrievalNumRetries -
See Also:
ConfigurationOverrides.setStateRetrievalNumRetries(java.lang.Integer)

setIsolationLevelClass

public void setIsolationLevelClass(String isolationLevelClass)
Parameters:
isolationLevelClass -
See Also:
ConfigurationOverrides.setIsolationLevelClass(java.lang.String)

setUseLazyDeserialization

public void setUseLazyDeserialization(Boolean useLazyDeserialization)
Parameters:
useLazyDeserialization -
See Also:
ConfigurationOverrides.setUseLazyDeserialization(java.lang.Boolean)

setL1CacheEnabled

public void setL1CacheEnabled(Boolean l1CacheEnabled)
Parameters:
l1CacheEnabled -
See Also:
ConfigurationOverrides.setL1CacheEnabled(java.lang.Boolean)

setL1Lifespan

public void setL1Lifespan(Long l1Lifespan)
Parameters:
l1Lifespan -
See Also:
ConfigurationOverrides.setL1Lifespan(java.lang.Long)

setL1OnRehash

public void setL1OnRehash(Boolean l1OnRehash)
Parameters:
l1OnRehash -
See Also:
ConfigurationOverrides.setL1OnRehash(java.lang.Boolean)

setConsistentHashClass

public void setConsistentHashClass(String consistentHashClass)
Parameters:
consistentHashClass -
See Also:
ConfigurationOverrides.setConsistentHashClass(java.lang.String)

setNumOwners

public void setNumOwners(Integer numOwners)
Parameters:
numOwners -
See Also:
ConfigurationOverrides.setNumOwners(java.lang.Integer)

setRehashEnabled

public void setRehashEnabled(Boolean rehashEnabled)
Parameters:
rehashEnabled -
See Also:
ConfigurationOverrides.setRehashEnabled(java.lang.Boolean)

setRehashWaitTime

public void setRehashWaitTime(Long rehashWaitTime)
Parameters:
rehashWaitTime -
See Also:
ConfigurationOverrides.setRehashWaitTime(java.lang.Long)

setUseAsyncMarshalling

public void setUseAsyncMarshalling(Boolean useAsyncMarshalling)
Parameters:
useAsyncMarshalling -
See Also:
ConfigurationOverrides.setUseAsyncMarshalling(java.lang.Boolean)

setIndexingEnabled

public void setIndexingEnabled(Boolean indexingEnabled)
Parameters:
indexingEnabled -
See Also:
ConfigurationOverrides.setIndexingEnabled(java.lang.Boolean)

setIndexLocalOnly

public void setIndexLocalOnly(Boolean indexLocalOnly)
Parameters:
indexLocalOnly -
See Also:
ConfigurationOverrides.setIndexLocalOnly(java.lang.Boolean)

setCustomInterceptors

public void setCustomInterceptors(List<CustomInterceptorConfig> customInterceptors)
Parameters:
customInterceptors -
See Also:
ConfigurationOverrides.setCustomInterceptors(java.util.List)

-->

Copyright © 2012 JBoss, a division of Red Hat. All Rights Reserved.