Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-419

Request for other RMI binding options in RepositoryStartupServlet

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 1.4
    • jackrabbit-jcr-rmi
    • None
    • Weblogic 8.1 T3

    Description

      The current deployment options for RepositoryStartupServlet bind a local repository to JNDI and/or register a remote ServerRepository via RMI using an RMIServerSocketFactory and LocateRegistry.

      The LocateRegistry mechanism does not appear to work by default in a Weblogic environment.

      I would like to request the option of binding a ServerRepository in registerRMI() to JNDI using the servlets current context instead of attempting LocateRegistry.createRegistry() and then LocateRegistry.getRegistry(). This JNDI binding option could use a different name so as to not interfere with the JNDI binding attempted in registerJNDI().

      For example, if requested in the web.xml config, registerRMI() could bind the following using it's reference to a ServerRepository:

      Context ctx = new InitialContext();
      ctx.bind(repositoryName + "Remote", remote);

      This allows for easy remote access using weblogic's native T3 protocol using the following on the client with:

      Context ctx = new InitialContext(); // with say -Djava.naming.provider.url and -Djava.naming.factory.initial set
      Object ref = ctx.lookup(repositoryName + "Remote");
      LocalAdapterFactory laf = new ClientAdapterFactory();
      Repository remote = laf.getRepository((RemoteRepository) ref);

      From the initial tests I have done this appears to work well inside the Weblogic container.

      • Paul.

      Attachments

        Activity

          People

            jukkaz Jukka Zitting
            dennpa Paul Dennis
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: