Hi Frederic,
        You can connect to the remote repository using the following
code.

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                String username = "username";
                String password = "password";
                String privider_url = "host:1099";
                String ctxLookup = "jnp://host:1099/jcrServer";

                Hashtable<String, String> env = new Hashtable<String,
String>();
                env
                                .put(Context.INITIAL_CONTEXT_FACTORY,
        
"org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory");
                env.put(Context.PROVIDER_URL, privider_url);
                env
                                .put(Context.URL_PKG_PREFIXES,
        
"org.jboss.naming:org.jnp.interfaces");
                InitialContext ctx;

                try {
                        ctx = new InitialContext(env);
                        RemoteRepository remoteRepository =
(RemoteRepository) ctx
                                        .lookup(ctxLookup);
                        Session session = null;
                        try {
                                JackrabbitServerAdapterFactory
adapterFactory = new JackrabbitServerAdapterFactory();
                                
                                
                                ClientAdapterFactory adapter = new
ClientAdapterFactory();
                                Repository repository =
adapter.getRepository(remoteRepository);
                                
                                session = repository.login(new
SimpleCredentials(username,
        
password.toCharArray()));
                                
                        }catch (Exception e) {
                                e.printStackTrace();
                        }
                }catch (Exception e) {
                        e.printStackTrace();
                }
                        
        }

Cheers,
Anilk.

-----Original Message-----
From: Frederic BOY [mailto:[EMAIL PROTECTED] 
Sent: Monday, June 16, 2008 3:33 PM
To: [email protected]
Subject: JCR RMI: how to connect to remote repository ?

Hi,

I have successfully managed to deploy my JCR repository RMI on
jnp://localhost:1099/jcrServer (thanks to jackrabbit JCR RMI).
Now how can I access it remotely ?

I mean I used to call:
        repository = (Repository) ctx.lookup("java:jcr/local");
for standard local jndi lookup.

When I try to replace it with:  
        repository = (Repository)
ctx.lookup("jnp://{remote_ip_address}:1099/jcrServer");

I get a java.lang.ClassCastException:
org.apache.jackrabbit.rmi.server.ServerRepository_Stub


I guess I'm missing a point. What's the right method ?

Thanks guys in advance,

Frederic Boy

Reply via email to