jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Florian Ried <FlorianR...@gmx.de>
Subject Jackrabbit RMI Server - Websphere as Client
Date Thu, 18 Aug 2005 10:37:40 GMT

as discussed in Thread 
http://thread.gmane.org/gmane.comp.apache.jackrabbit.devel/2723 I 
managed to Run Jackrabbit on Websphere.
I am also using Websphere as client for the Jackrabbit-RMI Server. I 
defined a Resource Provider in WAS Admin console, represented in the 
config file (resources.xml) as:

  <factories xmi:type="resources.env:ResourceEnvEntry" 
xmi:id="ResourceEnvEntry_1120984728292" name="jcr/repository" 
jndiName="jcr/repository" referenceable="Referenceable_1120984634775" />
   <propertySet xmi:id="J2EEResourcePropertySet_1120984805341">
    <resourceProperties xmi:id="J2EEResourceProperty_1120984805341" 
name="url" type="java.lang.String" value="rmi://srv-entw/repository" 
required="false" />
  <referenceables xmi:id="Referenceable_1120984634775" 
classname="javax.jcr.Repository" />

After starting the Jackrabbit-RMI Server, it is no problem to access 
this resource from within a servlet or portlet:

InitialContext context = new InitialContext();
Context environment = (Context) context.lookup("java:comp/env");
Repository repository = (Repository) environment.lookup("jcr/repository");
        Session session = repository.login(new 
SimpleCredentials("userid", "".toCharArray()), null);

But when I shut down the Jackrabbit-RMI Server and start it again, my 
servlets or portlets are not able to connect to the resource again and I 
get an RMI Error.

When restarting the WAS everything works fine again. Perhaps anybody 
using Jackrabbit-RMI Server with Tomcat another Container?

Anybody can tell me what is the source of the Problem? Is it the 
ClientRepositoryFactory, does WAS cache the connection?

Another Question: Is there a disadvantage when accessing the Repository 
directly from within the servlet (instead of using a JNDI Resource):

ClientRepositoryFactory factory = new ClientRepositoryFactory();
Repository r = factory.getRepository("rmi://srv-entw/repository");
Session session = r.login(new SimpleCredentials("userid", 
"".toCharArray()), null);

Thank you for your answers.

View raw message