jackrabbit-dev mailing list archives

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

ALSO:  refer to this piost for a gotcha:

http://www.nabble.com/jcr-rmi-problems-tf3928960.html#a11143397


qcfireball wrote:
> 
> 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
> "http://{your-hostname-here}:{your-port-here}/jackrabbit-webapp-1.3/"
> edit the following file: 
> {your-appserver-path}/webapps/jackrabbit-webapp-1.3/WEB-INF/templates/bootstrap.properties
> and make sure the following entries have the proper values:
> 
> rmi.port={your-rmi-port-here}
> rmi.host={your-hostname-here}
> repository.home={your/repository/location/here}
> repository.name={your.repository.name.here}
> 
> 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
> "/opt/tomcat/bin/jackrabbit/repository"
> 
> 
> 3 - create the following file in the
> {your-appserver-path}/webapps/jackrabbit-webapp-1.3/META-INF/context.xml
> 
> <Context path="/jackrabbit-webapp-1.3">
>    <Resource name="jcr/repository"
>              auth="Container"
>              type="javax.jcr.Repository"
>             
> factory="org.apache.jackrabbit.rmi.client.ClientRepositoryFactory"
>             
> url="//{your-hostname-here}:{your-rmi-port-here}/{your.repository.name.here}"
> />
> </Context>
> 
> 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
> http://{your-hostname-here}:{your-port-here}/jackrabbit-webapp-1.3/
> 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
> jcr-1.0.jar
> 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 + "/" +
> sRepo;
>         final String sWorkspace = "default";
>         
>         try {
>             final ClientRepositoryFactory factory = new
> ClientRepositoryFactory();
>             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) {
>             ex.printStackTrace();
>         }
>     }
> 
> 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#a11239282
Sent from the Jackrabbit - Dev mailing list archive at Nabble.com.


Mime
View raw message