jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Klebus <gkle...@day.com>
Subject Re: Remoting and future of JCR-RMI
Date Wed, 21 Oct 2009 07:33:38 GMT
On Wed, Oct 21, 2009 at 1:53 AM, Lennard Fuller <lfuller@unicon.net> wrote:
> I agree with Felix.  JCR-RMI definitely has it drawbacks (perf is HORRIBLE).  However,
it is easy to use and until the dav based communications is at least as easy, JCR-RMI should
not be dropped.

Easy to use.... totally agreed here. I understand that the simpllicity
here lies in the client RMI code [1]

import org.apache.jackrabbit.rmi.client.ClientRepositoryFactory;

String name = ...; // The RMI URL of the repository

ClientRepositoryFactory factory = new ClientRepositoryFactory();
Repository repository = factory.getRepository(name);

I also assume that the new SPI DAVex JCR remoting client-side code
requires explicit setting of remoting parameters (which makes it
harder to use).

Couldn't we keep the simplicity for the client code, while using the
better architecture (SPI) & protocol (DAVex remoting)? Bear with me
while I'm trying to fit my old, dusted developer hat on my product
manager's head :)

While I'm not 100% sure what are the implications for the code
semantics, I would assume that the following should give applications
at least minimal syntactic backwards compatibility with 1.x RMI client
code (assuming the URL to remote repository is not hardcoded):

1) put RMI into 1.x maintenance mode
2) Simplify SPI DAVex client code by implementing a client repository
factory, providing factory.getRepository() which only requires URL
3) Provide a backwards-compatible implementation of
org.apache.jackrabbit.rmi.client.ClientRepositoryFactory, providing a
getRepository(String), and simply returning the new SPI DAVex
implementation of javax.jcr.Repository



Greg Klebus
Product Manager
mailto: greg.klebus@day.com
T +41 61 226 9898
F +41 61 226 9897

Info-World 2009 Technology of the Year Award:  Best Web CMS

Day Software AG
Barfuesserplatz 6,  4001 Basel, Switzerland
web:  http://www.day.com/
twitter: @daysoftware
This message is a private communication. If you are not the intended
recipient, please do not read, copy or use it, and do not disclose to
others. Please notify the sender of the delivery error by replying to
this message, and then delete it from your system. Thank you.
The sender does not assume any liability for timely, trouble-free, complete,
virus free, secure, error free or uninterrupted arrival of this email.
For verification please request a hard-copy version.

View raw message