Class JndiRepositoryFactory
- java.lang.Object
-
- org.apache.jackrabbit.commons.JndiRepositoryFactory
-
- All Implemented Interfaces:
RepositoryFactory
- Direct Known Subclasses:
GenericRepositoryFactory
public class JndiRepositoryFactory extends java.lang.Object implements RepositoryFactory
JNDI-based JCR repository factory. This factory looks upRepository
instances from JNDI directories based on the following parameters:org.apache.jackrabbit.repository.jndi.name
- The value of this parameter is used as a JNDI name for looking up the repository.
org.apache.jackrabbit.repository.uri
- If the URI scheme is "jndi", then the remainder of the URI is used as a JNDI name for looking up the repository.
All the other repository parameters are passed as the environment of the
initial JNDI context
.Clients should normally only use this class through the Java Service Provider mechanism. See the getRepository utility methods in
JcrUtils
for an easy way to do that.- Since:
- Apache Jackrabbit 2.0
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
JNDI_NAME
The JNDI name parameter name.
-
Constructor Summary
Constructors Constructor Description JndiRepositoryFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Repository
getRepository(java.util.Map parameters)
Attempts to establish a connection to a repository using the givenparameters
.
-
-
-
Field Detail
-
JNDI_NAME
public static final java.lang.String JNDI_NAME
The JNDI name parameter name.- See Also:
- Constant Field Values
-
-
Method Detail
-
getRepository
public Repository getRepository(java.util.Map parameters) throws RepositoryException
Description copied from interface:RepositoryFactory
Attempts to establish a connection to a repository using the givenparameters
.Parameters are passed in a
Map
ofString
key/value pairs. The keys are not specified by JCR and are implementation specific. However, vendors should use keys that are namespace qualified in the Java package style to distinguish their key names. For example an address parameter might becom.vendor.address
.The implementation must return
null
if it does not understand the given parameters. The implementation may also returnnull
if a default repository instance is requested (indicated bynull
parameters
) and this factory is not able to identify a default repository.An implementation of this method must be thread-safe.
- Specified by:
getRepository
in interfaceRepositoryFactory
- Parameters:
parameters
- map of string key/value pairs as repository arguments ornull
if none are provided and a client wishes to connect to a default repository.- Returns:
- a repository instance or
null
if this implementation does not understand the passedparameters
. - Throws:
RepositoryException
- if if no suitable repository is found or another error occurs.
-
-