hi lennard
the spi-rmi is currently still in the sandbox, since
we didn't spent time on optimization yet.
if you are looking for an example setup, you may start
with the 'getRepository()' method defined with
http://svn.apache.org/repos/asf/jackrabbit/sandbox/spi/client/src/test/java/org/apache/jackrabbit/jcr2spi/JCR2SPI2JCROverRMIRepositoryStub.java
the jcr2spi code can be found at
http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-jcr2spi
the rmi-spi code
http://svn.apache.org/repos/asf/jackrabbit/sandbox/spi/spi-rmi
the spi2jcr code
http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-spi2jcr
minimal intro as follows:
- jcr2spi-Repository takes a RepositoryConfig
- the most important part of the configuration is the RepositoryService
- RepositoryService is the main interface defined by the SPI.
running the setup you mention, you need to create a RepositoryConfig
that returns the ClientRepositoryService of spi-rmi which itself
was created with a remote RepositoryService wrapping whatever
spi implementation.
hope that helps
angela
Lennard Fuller wrote:
I happened across Jukka Zitting's web page in which he announced some of the
new features in Jackrabbit 1.4. In particular, this paragraph was of interest.
"Service provider interface for JCR. The jackrabbit-spi component defines an
architectural layer below the JCR API. The SPI layer is designed specifically for remote
access and outlines a way for us to avoid the performance limitations of JCR-RMI that
works on top of JCR."
This is because I have JCR client applications which are currently accessing
the JCR via JCR-RMI. With a significant amount of client side caching the
performance is acceptable for our current usage... but only just. The prospect
of accessing the JCR external to that JCR's JVM in a reasonably performant
fashion is very exciting.
Looking at the mailing list I can see references to a method of getting remote
access to a JCR using SPI and RMI.
Marcel mentioned the following alternative:
jcr2spi<->spi-rmi<->spi2jcr<->jackrabbit-core
Thus far I have been unable to find any How to, Readme or wiki page which
covers this particular configuration. Can someone point me in the right
direction? Is there another configuration I should consider first?
Lennard Fuller
Software Architect
Unicon Inc.