jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Meschberger <fmesc...@gmail.com>
Subject Re: Sling's use of Jackrabbit
Date Fri, 27 Nov 2009 20:20:02 GMT
Hi,

Guo Du schrieb:
> On Fri, Nov 27, 2009 at 7:48 PM, Felix Meschberger <fmeschbe@gmail.com> wrote:
>> Hi,
>>
>> That's exactly why I intent to go this route.
> Great to see it happens, hope before 2.0 final release:)

If possible, but there is no guarantee.

> 
>> But it is important to understand that there are some use cases for
>> dynamic configurability of the embedded Jackrabbit instance which we
>> will have to ensure in the future.
> Can you explain "dynamic configurability" and "embedded Jackrabbit" in
> the context of JR deployment topology:
> JR standalone jar
> JR embedded to web application

Not sure, whether this is related ...

> JR embedded to an OSGi bundle

Issue is that Jackrabbit is configured with a repository.xml file which
itself refers to optional classes. Most notably these are the
PersistenceManager classes along with their dependencies. So this
provides some issues with setting up the bundle.

In addition there might be requirements to flexibly add LoginModule(s)
in OSGi style using the OSGi service registry. This is not available
from the jackrabbit-core library and we have added support for this in
Sling.

> JR as OSGi bundle to provide RepositoryFactory service

Not sure, whether this is of importance in an OSGi framework: The
embedded repository is exposed as an OSGi service in the OSGi service
registry. Use is as simple as getting the repository from the service
registry.

The embedded repository bundle is itself ensuring the repository is started.

It is conceivable to also provide RepositoryFactory service, but there
has not been such a requirement yet (maybe also because this is new in
JCR 2).

> JR remotely with webdav or API

Providing remote access to the repository embedded in an OSGi framework
is actually very easy: The WebDAV component is installed as an OSGi
bundle and by means of the OSGi HttpService exposes the repository. We
have done this with the Jackrabbit WebDAV bundle in Sling.

Regards
Felix

Mime
View raw message