You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by ja...@indiatimes.com on 2008/03/13 13:36:44 UTC

Issue :- Access jackrabbit-webapp-1.4.war through JNDI

Hi All,

I have deployed "jackrabbit-webapp-1.4.war" in tomcat server at runtime its create repository at tomcat/bin directory with the name of jackrabbit at  tomcat/bin directory.I have two option to get this repository object by my java client program .

Scenerio 1 is working fine but  in scenerio 2 i stuck to resolve out .please help to rectify it.

scenerio 1 ::- 

Through RMI its work 

 //This set in the web.xml of the repository

String repoUrl = "//localhost:1099/jackrabbit-webapp-1.4/rmi";

Repository repository = factory.getRepository(repoUrl);

Scenerio 2:-


I want to access this repository through JNDI (NOT Working)

It cause an error 

org.apache.jackrabbit.core.config.ConfigurationException: Configuration file could not be read.: Connection timed out: connect: Connection timed out: connect

please guide me, how to rectify it.

Java Client sample program:-


package com.test;

import java.io.File;
import java.io.FileOutputStream;
import java.util.Hashtable;

import javax.jcr.Credentials;
import javax.jcr.Node;
import javax.jcr.Repository;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
import javax.naming.Context;
import javax.naming.InitialContext;

import org.apache.jackrabbit.core.jndi.RegistryHelper;

public class TestTomcatRepository {

	private static Repository getRepository() throws Exception {
	
	String configFile = "C:/Tomcat/bin/jackrabbit/repository.xml";
	String repHomeDir = "C:/Tomcat/bin/jackrabbit";
	Hashtable env = new Hashtable();
	env.put(Context.INITIAL_CONTEXT_FACTORY,
						"org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory");
		env.put(Context.PROVIDER_URL, "localhost");

		InitialContext ctx = new InitialContext(env);

		RegistryHelper.registerRepository(ctx, "jackrabbit.repository", configFile, repHomeDir,true);
		return (Repository) ctx.lookup("jackrabbit.repository");

	}

	
	public static void main(String[] args) {
	try {
		Repository repository = getRepository();
		System.out.println("Test1.main() repository "+repository);
		SimpleCredentials creds = new SimpleCredentials("admin",
				"admin".toCharArray());
		Session session = repository.login(creds);
		Node root = session.getRootNode();
		Node test1 = root.addNode("delhi");
	        Node test2 = test1.addNode("bombay");
	        test2.setProperty("message", "bangalore");
	        
	        session.exportDocumentView("/", new FileOutputStream(new File("C://xyz.xml")), false, false);

		
	} catch (Exception e) {
		e.printStackTrace();
	}
	}
	
	}






can you please help me to rectify this