Class JndiRepositoryFactory

java.lang.Object
org.apache.jackrabbit.commons.JndiRepositoryFactory
All Implemented Interfaces:
RepositoryFactory
Direct Known Subclasses:
GenericRepositoryFactory

public class JndiRepositoryFactory extends Object implements RepositoryFactory
JNDI-based JCR repository factory. This factory looks up Repository 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 Details

  • Constructor Details

    • JndiRepositoryFactory

      public JndiRepositoryFactory()
  • Method Details

    • getRepository

      public Repository getRepository(Map parameters) throws RepositoryException
      Description copied from interface: RepositoryFactory
      Attempts to establish a connection to a repository using the given parameters.

      Parameters are passed in a Map of String 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 be com.vendor.address.

      The implementation must return null if it does not understand the given parameters. The implementation may also return null if a default repository instance is requested (indicated by null 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 interface RepositoryFactory
      Parameters:
      parameters - map of string key/value pairs as repository arguments or null 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 passed parameters.
      Throws:
      RepositoryException - if if no suitable repository is found or another error occurs.