|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.modeshape.connector.jbosscache.JBossCacheSource
@ThreadSafe public class JBossCacheSource
A repository source that uses a JBoss Cache instance to manage the content. This source is capable of using an existing
Cache
instance or creating a new instance. This process is controlled entirely by the JavaBean properties of the
JBossCacheSource instance.
This source first attempts to find an existing cache in JNDI
. If none is found, then it attempts to
create a cache instance using the CacheFactory
found in JNDI
(or the
DefaultCacheFactory
if no such factory is available) and the cache configuration
name
if supplied or the default configuration if not set.
Like other RepositorySource
classes, instances of JBossCacheSource can be placed into JNDI and do support the creation
of JNDI referenceable
objects and resolution of references into JBossCacheSource.
Field Summary | |
---|---|
protected static String |
ALLOW_CREATING_WORKSPACES
|
protected static String |
CACHE_CONFIGURATION_NAME
|
protected static String |
CACHE_FACTORY_JNDI_NAME
|
protected static String |
CACHE_JNDI_NAME
|
protected static String |
DEFAULT_CACHE_POLICY
|
static String |
DEFAULT_NAME_OF_DEFAULT_WORKSPACE
The initial name of the default workspace is ""default" ", unless otherwise specified. |
static int |
DEFAULT_RETRY_LIMIT
The default limit is 0 for retrying connection calls to the underlying source. |
static boolean |
DEFAULT_UPDATES_ALLOWED
The initial value for whether updates are allowed is "true ", unless otherwise specified. |
static String |
DEFAULT_UUID_PROPERTY_NAME
|
protected static String |
DEFAULT_WORKSPACE
|
protected static String |
PREDEFINED_WORKSPACE_NAMES
|
protected static String |
RETRY_LIMIT
|
protected static String |
ROOT_NODE_UUID
|
protected static String |
SOURCE_NAME
|
protected static String |
UPDATES_ALLOWED
|
Constructor Summary | |
---|---|
JBossCacheSource()
Create a repository source instance. |
Method Summary | |
---|---|
boolean |
areUpdatesAllowed()
Get whether this source allows updates. |
void |
close()
Signal this source that it is no longer needed and should begin the process of reclaiming or closing all resources that it has acquired. |
protected org.jboss.cache.Cache<UUID,JBossCacheNode> |
createNewCache(org.jboss.cache.CacheFactory<UUID,JBossCacheNode> cacheFactory,
String repositoryName)
Method that is responsible for attempting to create a new cache given the supplied workspace name. |
boolean |
equals(Object obj)
|
String |
getCacheConfigurationName()
Get the name of the configuration that should be used if a cache is to be created using the
CacheFactory found in JNDI or the DefaultCacheFactory if needed. |
String |
getCacheFactoryJndiName()
Get the name in JNDI of a CacheFactory instance that should be used to create the cache for this source. |
String |
getCacheJndiName()
Get the name in JNDI of a Cache instance that should be used by this source. |
RepositorySourceCapabilities |
getCapabilities()
Get the capabilities for this source. |
RepositoryConnection |
getConnection()
Get a connection from this source. |
protected Context |
getContext()
|
CachePolicy |
getDefaultCachePolicy()
Get the default cache policy for this source, or null if the global default cache policy should be used |
String |
getDefaultWorkspaceName()
Get the name of the default workspace. |
String |
getName()
Get the name for this repository source. |
Object |
getObjectInstance(Object obj,
Name name,
Context nameCtx,
Hashtable<?,?> environment)
|
protected Observer |
getObserver()
|
String[] |
getPredefinedWorkspaceNames()
Gets the names of the workspaces that are available when this source is created. |
Reference |
getReference()
|
RepositoryContext |
getRepositoryContext()
Returns the repository context for the repository source |
int |
getRetryLimit()
Get the maximum number of retries that may be performed on a given operation when using connections created by this source. |
String |
getRootNodeUuid()
Get the UUID of the root node for the cache. |
UUID |
getRootNodeUuidObject()
Get the UUID of the root node for the cache. |
int |
hashCode()
|
void |
initialize(RepositoryContext context)
Initialize this source to use the supplied RepositoryContext , from which this source can obtain the
configuration defining this source,
connections to other sources , and the
execution context . |
boolean |
isCreatingWorkspacesAllowed()
Get whether this source allows workspaces to be created dynamically. |
void |
setCacheConfigurationName(String cacheConfigurationName)
Get the name of the configuration that should be used if a cache is to be created using the
CacheFactory found in JNDI or the DefaultCacheFactory if needed. |
void |
setCacheFactoryJndiName(String jndiName)
Set the name in JNDI of a CacheFactory instance that should be used to obtain the Cache instance used by
this source. |
void |
setCacheJndiName(String cacheJndiName)
Set the name in JNDI of a Cache instance that should be used by this source. |
protected void |
setContext(Context context)
|
void |
setCreatingWorkspacesAllowed(boolean allowWorkspaceCreation)
Set whether this source allows workspaces to be created dynamically. |
void |
setDefaultCachePolicy(CachePolicy defaultCachePolicy)
|
void |
setDefaultWorkspaceName(String nameOfDefaultWorkspace)
Set the name of the workspace that should be used when clients don't specify a workspace. |
void |
setName(String name)
Set the name of this source |
void |
setPredefinedWorkspaceNames(String[] predefinedWorkspaceNames)
Sets the names of the workspaces that are available when this source is created. |
void |
setRetryLimit(int limit)
Set the maximum number of retries that may be performed on a given operation when using connections created by this source. |
void |
setRootNodeUuid(String rootNodeUuid)
Set the UUID of the root node in this repository. |
void |
setUpdatesAllowed(boolean updatesAllowed)
Set whether this source allows updates to data within workspaces |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int DEFAULT_RETRY_LIMIT
connection
calls to the underlying source.
public static final String DEFAULT_UUID_PROPERTY_NAME
public static final String DEFAULT_NAME_OF_DEFAULT_WORKSPACE
name of the default workspace
is ""default" ", unless otherwise specified.
public static final boolean DEFAULT_UPDATES_ALLOWED
protected static final String ROOT_NODE_UUID
protected static final String SOURCE_NAME
protected static final String DEFAULT_CACHE_POLICY
protected static final String CACHE_CONFIGURATION_NAME
protected static final String CACHE_FACTORY_JNDI_NAME
protected static final String CACHE_JNDI_NAME
protected static final String RETRY_LIMIT
protected static final String DEFAULT_WORKSPACE
protected static final String PREDEFINED_WORKSPACE_NAMES
protected static final String ALLOW_CREATING_WORKSPACES
protected static final String UPDATES_ALLOWED
Constructor Detail |
---|
public JBossCacheSource()
Method Detail |
---|
public void initialize(RepositoryContext context) throws RepositorySourceException
RepositoryContext
, from which this source can obtain the
configuration
defining this source,
connections
to other sources
, and the
execution context
.
This method may be called each time the configuration changes, allowing the source to update itself.
initialize
in interface RepositorySource
RepositorySourceException
RepositorySource.initialize(org.modeshape.graph.connector.RepositoryContext)
public String getName()
getName
in interface RepositorySource
public RepositorySourceCapabilities getCapabilities()
getCapabilities
in interface RepositorySource
RepositorySource.getCapabilities()
public int getRetryLimit()
connections
created by this source. This value does not constitute a minimum number of retries; in fact, the connection
user is not required to retry any operations.
getRetryLimit
in interface RepositorySource
RepositorySource.getRetryLimit()
public void setRetryLimit(int limit)
connections
created by this source. This value does not constitute a minimum number of retries; in fact, the connection
user is not required to retry any operations.
setRetryLimit
in interface RepositorySource
limit
- the maximum number of allowable retries, or 0 if the source has no limitRepositorySource.setRetryLimit(int)
public void setName(String name)
name
- the name for this sourcepublic CachePolicy getDefaultCachePolicy()
getDefaultCachePolicy
in interface BaseRepositorySource
public void setDefaultCachePolicy(CachePolicy defaultCachePolicy)
defaultCachePolicy
- Sets defaultCachePolicy to the specified value.public String getCacheJndiName()
Cache
instance that should be used by this source.
This source first attempts to find an existing cache in JNDI
. If none is found, then it
attempts to create a cache instance using the CacheFactory
found in JNDI
(or the
DefaultCacheFactory
if no such factory is available) and the cache
configuration name
if supplied or the default configuration if not set.
Cache
instance that should be used, or null if the cache is to be created with a cache
factory found in JNDI
using the specified cache configuration name
.setCacheJndiName(String)
,
getCacheConfigurationName()
,
getCacheFactoryJndiName()
public void setCacheJndiName(String cacheJndiName)
Cache
instance that should be used by this source.
This source first attempts to find an existing cache in JNDI
. If none is found, then it
attempts to create a cache instance using the CacheFactory
found in JNDI
(or the
DefaultCacheFactory
if no such factory is available) and the cache
configuration name
if supplied or the default configuration if not set.
cacheJndiName
- the JNDI name of the Cache
instance that should be used, or null if the cache is to be created
with a cache factory found in JNDI
using the specified
cache configuration name
.getCacheJndiName()
,
getCacheConfigurationName()
,
getCacheFactoryJndiName()
public String getCacheFactoryJndiName()
CacheFactory
instance that should be used to create the cache for this source.
This source first attempts to find an existing cache in JNDI
. If none is found, then it
attempts to create a cache instance using the CacheFactory
found in JNDI
(or the
DefaultCacheFactory
if no such factory is available) and the cache
configuration name
if supplied or the default configuration if not set.
CacheFactory
instance that should be used, or null if the DefaultCacheFactory
should be used if a cache is to be createdsetCacheFactoryJndiName(String)
,
getCacheConfigurationName()
,
getCacheJndiName()
public void setCacheFactoryJndiName(String jndiName)
CacheFactory
instance that should be used to obtain the Cache
instance used by
this source.
This source first attempts to find an existing cache in JNDI
. If none is found, then it
attempts to create a cache instance using the CacheFactory
found in JNDI
(or the
DefaultCacheFactory
if no such factory is available) and the cache
configuration name
if supplied or the default configuration if not set.
jndiName
- the JNDI name of the CacheFactory
instance that should be used, or null if the
DefaultCacheFactory
should be used if a cache is to be createdsetCacheFactoryJndiName(String)
,
getCacheConfigurationName()
,
getCacheJndiName()
public String getCacheConfigurationName()
cache
is to be created using the
CacheFactory
found in JNDI or the DefaultCacheFactory
if needed.
This source first attempts to find an existing cache in JNDI
. If none is found, then it
attempts to create a cache instance using the CacheFactory
found in JNDI
(or the
DefaultCacheFactory
if no such factory is available) and the cache
configuration name
if supplied or the default configuration if not set.
CacheFactory
, or null if the default
configuration should be usedsetCacheConfigurationName(String)
,
getCacheFactoryJndiName()
,
getCacheJndiName()
public void setCacheConfigurationName(String cacheConfigurationName)
cache
is to be created using the
CacheFactory
found in JNDI or the DefaultCacheFactory
if needed.
This source first attempts to find an existing cache in JNDI
. If none is found, then it
attempts to create a cache instance using the CacheFactory
found in JNDI
(or the
DefaultCacheFactory
if no such factory is available) and the cache
configuration name
if supplied or the default configuration if not set.
cacheConfigurationName
- the name of the configuration that should be passed to the CacheFactory
, or null if
the default configuration should be usedgetCacheConfigurationName()
,
getCacheFactoryJndiName()
,
getCacheJndiName()
public String getRootNodeUuid()
public UUID getRootNodeUuidObject()
getRootNodeUuidObject
in interface BaseRepositorySource
public void setRootNodeUuid(String rootNodeUuid)
rootNodeUuid
- the UUID of the root node for the cache, or null if the UUID should be randomly generatedpublic String getDefaultWorkspaceName()
getDefaultWorkspaceName
in interface BaseRepositorySource
public void setDefaultWorkspaceName(String nameOfDefaultWorkspace)
nameOfDefaultWorkspace
- the name of the workspace that should be used by default, or null if the
default name
should be usedpublic String[] getPredefinedWorkspaceNames()
setPredefinedWorkspaceNames(String[])
,
setCreatingWorkspacesAllowed(boolean)
public void setPredefinedWorkspaceNames(String[] predefinedWorkspaceNames)
predefinedWorkspaceNames
- the names of the workspaces that this source should start with, or null if there are no
such workspacessetCreatingWorkspacesAllowed(boolean)
,
getPredefinedWorkspaceNames()
@Description(i18n=JBossCacheConnectorI18n.class, value="creatingWorkspacesAllowedPropertyDescription") @Label(i18n=JBossCacheConnectorI18n.class, value="creatingWorkspacesAllowedPropertyLabel") @Category(i18n=JBossCacheConnectorI18n.class, value="creatingWorkspacesAllowedPropertyCategory") public boolean isCreatingWorkspacesAllowed()
isCreatingWorkspacesAllowed
in interface BaseRepositorySource
set of workspaces
is fixedsetPredefinedWorkspaceNames(String[])
,
getPredefinedWorkspaceNames()
,
setCreatingWorkspacesAllowed(boolean)
public void setCreatingWorkspacesAllowed(boolean allowWorkspaceCreation)
allowWorkspaceCreation
- true if this source allows workspaces to be created by clients, or false if the
set of workspaces
is fixedsetPredefinedWorkspaceNames(String[])
,
getPredefinedWorkspaceNames()
,
isCreatingWorkspacesAllowed()
public RepositoryConnection getConnection() throws RepositorySourceException
getConnection
in interface RepositorySource
RepositorySourceException
- if there is a problem obtaining a connectionRepositorySource.getConnection()
public void close()
connections
may still be in use, this method may not necessarily close all
resources immediately.
This is a required method, and must be called when this source is no longer needed if one or more connections
have been obtained since the previous call to this method.
Note that calling this method also does not preclude obtaining more connections
after this method
is called. If that happens, this source should simply reacquire any resources necessary to provide additional connections,
and this method needs to be called once again.
close
in interface RepositorySource
RepositorySource.close()
protected org.jboss.cache.Cache<UUID,JBossCacheNode> createNewCache(org.jboss.cache.CacheFactory<UUID,JBossCacheNode> cacheFactory, String repositoryName)
cacheFactory
- the cache factoryrepositoryName
- the name of the repository
public RepositoryContext getRepositoryContext()
BaseRepositorySource
repository context
for the repository source
getRepositoryContext
in interface BaseRepositorySource
protected Observer getObserver()
protected Context getContext()
protected void setContext(Context context)
public boolean areUpdatesAllowed()
BaseRepositorySource
areUpdatesAllowed
in interface BaseRepositorySource
BaseRepositorySource.setUpdatesAllowed(boolean)
public void setUpdatesAllowed(boolean updatesAllowed)
BaseRepositorySource
setUpdatesAllowed
in interface BaseRepositorySource
updatesAllowed
- true if this source allows updates to data within workspaces clients, or false if updates are not
allowed.BaseRepositorySource.areUpdatesAllowed()
public boolean equals(Object obj)
equals
in class Object
public int hashCode()
hashCode
in class Object
public Reference getReference()
getReference
in interface Referenceable
public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment) throws Exception
getObjectInstance
in interface ObjectFactory
Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |