I am wondering if it would make sense to add a new configuration option to the 
startup servlet:

        <init-param>
            <param-name>jndi-bind-remote</param-name>
            <param-value>true</param-value>
        </init-param>

If true, the servlet would then know that it should bind the *remote* repo 
object to the JNDI context, as opposed to the repository object reference 
itself.

In general, this will allow you to bind the remote repo object to *any* JNDI 
tree - which would be useful if that JNDI tree is remotely accessible.

In my case, it would allow me to bind the remoted interface (which is 
inherently serializable) to a JBoss JNP naming service (which then 
automatically gives you remote access since you could then use the JNP client 
from a remote VM to get the repo).  

As it stands, it looks like you have no choice wrt where you bind the remote 
object - the RMI Registry (via the rmi-XXX servlet init parameters).  The 
rmi-XXX options trigger the servlet to end up calling 
"LocateRegistry.createRegistry" - this under the covers uses the SUN JNDI impl 
"sun.rmi.registry.RegistryImpl" when running with SUN's JRE).  I don't want to 
use that - I want the JNP service to be my remote registry.

Unless I'm missing something, which is entirely possible :-) I can't see how I 
can get the remote repo unless I register it in the RMI Registry.


-----Original Message-----
From: John Mazzitelli [mailto:[EMAIL PROTECTED]
Sent: Mon 12/12/2005 11:51 PM
To: jackrabbit-dev@incubator.apache.org
Subject: deploying to JBoss
 
Has anyone tried to deploy the jackrabbit webapp in JBoss and registering the 
repository in JBoss's JNDI (i.e. the provider URL being jnp://localhost:1099 
with the factory being org.jnp.interfaces.NamingContextFactory) as opposed to 
using the dummy JNDI provider that is configured by default 
(org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory)

I tried that but failed due to the repository impl. class not being 
serializable:

javax.naming.CommunicationException [Root exception is 
java.io.NotSerializableException: org.apache.jackrabbit.core.RepositoryImpl]

Reply via email to