You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Kenneth Yue <Ke...@Sun.COM> on 2009/09/04 18:50:36 UTC
Re: How to replace RMI with WebDAV?
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
>
Re: How to replace RMI with WebDAV?
Posted by Kenneth Yue <Ke...@Sun.COM>.
Alexander Klimetschek wrote:
> On Fri, Sep 4, 2009 at 6:50 PM, Kenneth Yue<Ke...@sun.com> wrote:
>> 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.
>
> Maybe this thread helps: http://markmail.org/message/4oy65gmvjttg42ht
Unfortunately it doesn't help. I was the one who started that thread
and the one who ended that thread by posting the last message:
http://markmail.org/message/r5jbob2f7pob77k7
I added the request of an ObjectFactory implementation to
https://issues.apache.org/jira/browse/JCR-1877 but this issue has been
fixed still without an ObjectFactory implementation. :-(
There is a related issue https://issues.apache.org/jira/browse/JCR-2041
which is also marked as fixed. But again, still no ObjectFactory
implementation.
I would love to have someone explaining to me what the logic in
RepositoryImpl$Factory is. Why is it checking for an ObjectFactory
implementation while none exists (besides BindableRepositoryFactory and
ClientRepositoryFactory which are totally unrelated)? Thanks.
Regards,
Ken
Re: How to replace RMI with WebDAV?
Posted by Alexander Klimetschek <ak...@day.com>.
On Fri, Sep 4, 2009 at 6:50 PM, Kenneth Yue<Ke...@sun.com> wrote:
> 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.
Maybe this thread helps: http://markmail.org/message/4oy65gmvjttg42ht
Regards,
Alex
--
Alexander Klimetschek
alexander.klimetschek@day.com