jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From qcfireball <qcfireb...@yahoo.com>
Subject Quick RMI Howto for those in need
Date Thu, 21 Jun 2007 18:49:08 GMT

1 - install jackrabbit into your app container
note:  you will get some errors in the appserver logfile.  this is due to
the fact that the repository
       is not yet setup.

2 - BEFORE you view the URL
edit the following file: 
and make sure the following entries have the proper values:


some notes on these values:
a) using a port value of zero implies port 1099
b) for repository.home, it seems you can provide a relative path or an
absolute path.  what happened to me was,
i used a value of "jackrabbit/repository".  bacause i used tomcat, and the
start script runs out of the "bin"
directory, my repository is located in

3 - create the following file in the

<Context path="/jackrabbit-webapp-1.3">
   <Resource name="jcr/repository"

i am not sure if this file is entirely required.  it was mentioned in a post
somewhere.  i used it because i
was having problems, and they seemed to go away after creating this file.

4 - navigate to the URL
this time you will see an "error" saying that your repository is not yet
created.  The message is as follows:

Error while accessing the repository: The repository is not available.
Check the configuration or use the easy setup wizard.

keep in mind, that what you enter in the text box next to:

Repository Home:

must be reflected in the seetings discussed above.  for example, i enetered
"jackrabbit", and it created the 
directory i mentioned above.

click the "create" button.

your repository is now setup

5 - you can now connect to your repository.  Make sure you have the 
jackrabbit-jcr-rmi-1.3.jar AND
in your classpath.  code to connect is something like this:

import javax.jcr.Node;
import javax.jcr.Property;
import javax.jcr.Workspace;
import javax.jcr.nodetype.NodeType;
import javax.jcr.nodetype.NodeTypeManager;
import org.apache.jackrabbit.rmi.client.ClientRepositoryFactory;
import javax.jcr.Repository;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
import org.apache.jackrabbit.rmi.client.ClientNodeTypeManager;

    private static final void quickConnect() {
        final String sServer    = "kelleher-home";
        final String sPort      = "1099";
        final String sRepo      = "jackrabbit.repository";
        final String sUrl       = "//" + sServer + ":" + sPort + "/" +
        final String sWorkspace = "default";
        try {
            final ClientRepositoryFactory factory = new
            final Repository r = factory.getRepository(sUrl);
            final SimpleCredentials     sc   = new
SimpleCredentials("anonymous", "".toCharArray());
            final Session               sess = r.login(sc, sWorkspace);
            final Workspace             wksp = sess.getWorkspace();
            final NodeTypeManager       ntm  = wksp.getNodeTypeManager();
            final ClientNodeTypeManager cntm = (ClientNodeTypeManager) ntm;
            log("Everything executed without error.");
        } catch (Exception ex) {

I have not, as of yet, been able to get things working thru a firewall.  For
example, I wanted to connect to my repository at home.  This involved going
thru our proxy server at work (which doesn't seem to be a problem, maybe),
and thru my firewall at home.  I am using port forwarding at home.
View this message in context: http://www.nabble.com/Quick-RMI-Howto-for-those-in-need-tf3960611.html#a11239251
Sent from the Jackrabbit - Dev mailing list archive at Nabble.com.

View raw message