Class RepositoryAccessor


  • public class RepositoryAccessor
    extends Object
    Access a Repository via JNDI or RMI.
    • Field Detail

      • REPOSITORY_URL_OVERRIDE_PROPERTY

        public static final String REPOSITORY_URL_OVERRIDE_PROPERTY
        Name of the property that the jcr client and server bundles to override their default configuration settings and connect to the specified repository instead (SLING-254 and SLING-260)
        See Also:
        Constant Field Values
    • Constructor Detail

      • RepositoryAccessor

        public RepositoryAccessor()
    • Method Detail

      • getRepository

        public javax.jcr.Repository getRepository​(String repositoryName,
                                                  Hashtable<String,​Object> jndiContext)
        First try to access the Repository via JNDI (unless jndiContext is null), and if not successful try RMI.
        Parameters:
        repositoryName - JNDI name or RMI URL (must start with "rmi://") of the Repository
        jndiContext - if null, JNDI is not tried
        Returns:
        a Repository, or null if not found
      • getRepositoryFromURL

        public javax.jcr.Repository getRepositoryFromURL​(String url)
        Acquire a Repository from the given URL
        Parameters:
        url - for RMI, an RMI URL. For JNDI, "jndi://", followed by the JNDI repository name, followed by a colon and a comma-separated list of JNDI context values, for example:
              jndi://jackrabbit:java.naming.factory.initial=org.SomeClass,java.naming.provider.url=http://foo.com
         
        Returns:
        the repository for the given url
        Throws:
        NullPointerException - If url is null.
      • getLocalAdapterFactory

        protected org.apache.jackrabbit.rmi.client.LocalAdapterFactory getLocalAdapterFactory()
        Returns the LocalAdapterFactory used to convert Jackrabbit JCR RMI remote objects to local JCR API objects.

        This method returns an instance of the JackrabbitClientAdapterFactory which allows accessing Jackrabbit (or Jackrabbit-based) repositories over RMI. Extensions of this class may overwrite this method to use a different implementation.

        Returns:
        the LocalAdapterFactory used to convert Jackrabbit JCR RMI remote objects to local JCR API objects.
      • getClientRepositoryFactory

        protected org.apache.jackrabbit.rmi.client.ClientRepositoryFactory getClientRepositoryFactory()
        Returns the ClientRepositoryFactory to access the remote JCR repository over RMI.

        This method creates an instance of the ClientRepositoryFactory class initialized with the LocalAdapterFactory returned from the getLocalAdapterFactory() method. Extensions may overwrite this method to return an extension of the Jackrabbit JCR RMI ClientRepositoryFactory class.

        Returns:
        the ClientRepositoryFactory to access the remote JCR repository over RMI.