public class GigaSpaceFactoryBean extends Object implements org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.FactoryBean, org.springframework.beans.factory.BeanNameAware
A factory bean creating GigaSpace implementation. The
implementation created is DefaultGigaSpace which
allows for pluggable IJSpace, TransactionProvider, and ExceptionTranslator.
The factory requires an IJSpace which can be either directly
acquired or build using one of the several space factory beans provided in
org.openspaces.core.space.
The factory accepts an optional TransactionProvider which defaults to DefaultTransactionProvider. The transactional context used is based on setTransactionManager(org.springframework.transaction.PlatformTransactionManager) and if no
transaction manager is provided, will use the space as the context.
When using org.openspaces.core.transaction.manager.LocalJiniTransactionManager there
is no need to pass the transaction manager to this factory, since both by default will use the
space as the transactional context. When working with LookupJiniTransactionManager
(which probably means Mahalo and support for more than one space as transaction resources) the
transaction manager should be provided to this class.
The factory accepts an optional ExceptionTranslator which defaults to DefaultExceptionTranslator.
A clustered flag allows to control if this GigaSpace instance will work against a clustered
view of the space or directly against a clustered member. This flag has no affect when not
working in a clustered mode (partitioned or primary/backup). By default if this flag is not set
it will be set automatically by this factory. It will be set to true if the space is
an embedded one AND the space is not a local cache proxy. It will be set to false
otherwise (i.e. the space is not an embedded space OR the space is a local cache proxy). A local
cache proxy is an IJSpace that is injected using setSpace(com.j_spaces.core.IJSpace) and was created using either LocalViewSpaceFactoryBean or LocalCacheSpaceFactoryBean.
The factory allows to set the default read/take timeout and write lease when using the same operations without the relevant parameters.
The factory also allows to set the default isolation level for read operations that will be
performed by GigaSpace API. The isolation level can be set either
using setDefaultIsolationLevel(int) or setDefaultIsolationLevelName(String).
Note, this setting will apply when not working under Spring declarative transactions or when
using Spring declarative transaction with the default isolation level (TransactionDefinition.ISOLATION_DEFAULT).
GigaSpace,
DefaultGigaSpace,
TransactionProvider,
ExceptionTranslator,
AbstractJiniTransactionManager| Modifier and Type | Field and Description |
|---|---|
static String |
PREFIX_ISOLATION
Prefix for the isolation constants defined in TransactionDefinition
|
| Constructor and Description |
|---|
GigaSpaceFactoryBean() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet()
Constructs the
GigaSpace instance using the DefaultGigaSpace implementation. |
void |
destroy() |
Object |
getObject()
Return
GigaSpace implementation constructed in the afterPropertiesSet() phase. |
Class<? extends GigaSpace> |
getObjectType() |
boolean |
isSingleton()
Returns
true as this is a singleton. |
void |
setBeanName(String beanName) |
void |
setClustered(boolean clustered)
Sets the cluster flag controlling if this
GigaSpace will work
with a clustered view of the space or directly with a cluster member. |
void |
setDefaultChangeModifiers(ChangeModifiers[] defaultChangeModifiers)
Set the default
ChangeModifiers to be used for change operations on the GigaSpace instance. |
void |
setDefaultClearModifiers(ClearModifiers[] defaultClearModifiers)
Set the default
ClearModifiers to be used for clear operations on the GigaSpace instance. |
void |
setDefaultCountModifiers(CountModifiers[] defaultCountModifiers)
Set the default
CountModifiers to be used for count operations on the GigaSpace instance. |
void |
setDefaultIsolationLevel(int defaultIsolationLevel)
Set the default isolation level.
|
void |
setDefaultIsolationLevelName(String constantName)
Set the default isolation level by the name of the corresponding constant in
TransactionDefinition, e.g.
|
void |
setDefaultReadModifiers(ReadModifiers[] defaultReadModifiers)
Set the default
ReadModifiers to be used for read operations on the GigaSpace
instance. |
void |
setDefaultReadTimeout(long defaultReadTimeout)
Sets the default read timeout for
GigaSpace.read(Object) and
GigaSpace.readIfExists(Object) operations. |
void |
setDefaultTakeModifiers(TakeModifiers[] defaultTakeModifiers)
Set the default
TakeModifiers to be used for take operations on the GigaSpace
instance. |
void |
setDefaultTakeTimeout(long defaultTakeTimeout)
Sets the default take timeout for
GigaSpace.take(Object) and
GigaSpace.takeIfExists(Object) operations. |
void |
setDefaultWriteLease(long defaultWriteLease)
Sets the default write lease for
GigaSpace.write(Object)
operation. |
void |
setDefaultWriteModifiers(WriteModifiers[] defaultWriteModifiers)
Set the default
WriteModifiers to be used for write operations on the GigaSpace instance. |
void |
setExTranslator(ExceptionTranslator exTranslator)
Sets the exception translator that will be used by the created
GigaSpace. |
void |
setSpace(IJSpace space)
Sets the space that will be used by the created
GigaSpace. |
void |
setTransactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager)
Set the transaction manager to enable transactional operations.
|
void |
setTxProvider(TransactionProvider txProvider)
Sets the transaction provider that will be used by the created
GigaSpace. |
public static final String PREFIX_ISOLATION
public void setSpace(IJSpace space)
Sets the space that will be used by the created GigaSpace.
This is a required parameter to the factory.
space - The space usedpublic void setTxProvider(TransactionProvider txProvider)
Sets the transaction provider that will be used by the created GigaSpace. This is an optional parameter and defaults to DefaultTransactionProvider.
txProvider - The transaction provider to usepublic void setExTranslator(ExceptionTranslator exTranslator)
Sets the exception translator that will be used by the created GigaSpace. This is an optional parameter and defaults to DefaultExceptionTranslator.
exTranslator - The exception translator to usepublic void setClustered(boolean clustered)
Sets the cluster flag controlling if this GigaSpace will work
with a clustered view of the space or directly with a cluster member. By default if this flag
is not set it will be set automatically by this factory. It will be set to false
if the space is an embedded one AND the space is not a local cache proxy. It will be set to
true otherwise (i.e. the space is not an embedded space OR the space is a local
cache proxy).
clustered - If the GigaSpace is going to work with a
clustered view of the space or directly with a cluster memberpublic void setDefaultReadTimeout(long defaultReadTimeout)
Sets the default read timeout for GigaSpace.read(Object) and
GigaSpace.readIfExists(Object) operations. Default to 0.
public void setDefaultTakeTimeout(long defaultTakeTimeout)
Sets the default take timeout for GigaSpace.take(Object) and
GigaSpace.takeIfExists(Object) operations. Default to 0.
public void setDefaultWriteLease(long defaultWriteLease)
Sets the default write lease for GigaSpace.write(Object)
operation. Default to Lease.FOREVER.
public final void setDefaultIsolationLevelName(String constantName) throws IllegalArgumentException
constantName - name of the constantIllegalArgumentException - if the supplied value is not resolvable to one of the
ISOLATION_ constants or is nullsetDefaultIsolationLevel(int),
TransactionDefinition.ISOLATION_DEFAULTpublic void setDefaultIsolationLevel(int defaultIsolationLevel)
IllegalArgumentException - if the supplied value is not one of the ISOLATION_
constantsTransactionDefinition.ISOLATION_DEFAULTpublic void setDefaultWriteModifiers(WriteModifiers[] defaultWriteModifiers)
WriteModifiers to be used for write operations on the GigaSpace instance. Defaults to WriteModifiers.UPDATE_OR_WRITEdefaultWriteModifiers - The default write modifiers.WriteModifierspublic void setDefaultReadModifiers(ReadModifiers[] defaultReadModifiers)
ReadModifiers to be used for read operations on the GigaSpace
instance. Defaults to ReadModifiers.READ_COMMITTEDdefaultReadModifiers - The default read modifiers.ReadModifierspublic void setDefaultTakeModifiers(TakeModifiers[] defaultTakeModifiers)
TakeModifiers to be used for take operations on the GigaSpace
instance. Defaults to TakeModifiers.NONEdefaultTakeModifiers - The default take modifiers.TakeModifierspublic void setDefaultCountModifiers(CountModifiers[] defaultCountModifiers)
CountModifiers to be used for count operations on the GigaSpace instance. Defaults to CountModifiers.NONEdefaultCountModifiers - The default count modifiers.CountModifierspublic void setDefaultClearModifiers(ClearModifiers[] defaultClearModifiers)
ClearModifiers to be used for clear operations on the GigaSpace instance. Defaults to ClearModifiers.NONEdefaultClearModifiers - The default clear modifiers.ClearModifierspublic void setDefaultChangeModifiers(ChangeModifiers[] defaultChangeModifiers)
ChangeModifiers to be used for change operations on the GigaSpace instance. Defaults to ChangeModifiers.NONEdefaultChangeModifiers - The default change modifiers.ChangeModifierspublic void setTransactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager)
Set the transaction manager to enable transactional operations. Can be null
if transactional support is not required or the default space is used as a transactional
context.
public void setBeanName(String beanName)
setBeanName in interface org.springframework.beans.factory.BeanNameAwarepublic void afterPropertiesSet()
GigaSpace instance using the DefaultGigaSpace implementation. Uses the clustered flag to get a
cluster member directly (if set to false) and applies the different defaults).afterPropertiesSet in interface org.springframework.beans.factory.InitializingBeanpublic Object getObject()
GigaSpace implementation constructed in the afterPropertiesSet() phase.getObject in interface org.springframework.beans.factory.FactoryBeanpublic Class<? extends GigaSpace> getObjectType()
getObjectType in interface org.springframework.beans.factory.FactoryBeanpublic boolean isSingleton()
true as this is a singleton.isSingleton in interface org.springframework.beans.factory.FactoryBeanCopyright © GigaSpaces.