Any ideas? I'm beginning to think this may be a bug. org.apache.jackrabbit.jcr2spi.RepositoryImpl.java expects a javax.naming.spi.ObjectFactory implementation, but I looked over the entire Jackrabbit workspace and found only the following classes implement javax.naming.spi.ObjectFactory:

org.apache.jackrabbit.core.jndi.BindableRepositoryFactory
org.apache.jackrabbit.jcr2spi.RepositoryImpl$Factory
org.apache.jackrabbit.rmi.client.ClientRepositoryFactory

BindableRepositoryFactory and ClientRepositoryFactory are unrelated to WebDAV. RepositoryImpl$Factory is, well, the code that's doing the checking, So is the code looking for itself??? How does the code expect users to use it? Does the code expect users to write their own ObjectFactory implementation and plug it in? Then how exactly is org.apache.jackrabbit.client.RepositoryFactoryImpl useful?

What do you all think?  Thanks.

Ken

Kenneth Yue wrote:
All,

I'm trying to replace, in my META-INF/context.xml,

  <Resource name="jcr/repository"
            auth="Container"
            type="javax.jcr.Repository"

factory="org.apache.jackrabbit.rmi.client.ClientRepositoryFactory"
            url="rmi://localhost:1099/jackrabbit.repository"/>

by

  <Resource name="jcr/repository"
            auth="Container"
            type="org.apache.jackrabbit.jcr2spi.RepositoryImpl"
            factory="org.apache.jackrabbit.jcr2spi.RepositoryImpl$Factory"

org.apache.jackrabbit.jcr2spi.RepositoryImpl.factory="org.apache.jackrabbit.client.RepositoryFactoryImpl"

org.apache.jackrabbit.jcr2spi.RepositoryImpl.class="org.apache.jackrabbit.client.spi2dav.RepositoryConfigImpl"

org.apache.jackrabbit.repository.spi2dav.uri="http://localhost:8080/jackrabbit/server"/>

but this doesn't work because org.apache.jackrabbit.client.RepositoryFactoryImpl doesn't implement javax.naming.spi.ObjectFactory, which lines 249-251 of org.apache.jackrabbit.jcr2spi.RepositoryImpl.java is looking for. So how do I replace RMI with WebDAV without "import org.apache.jackrabbit..." in my code? Thanks in advance.

Ken


Reply via email to