jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Trutz <christian.tr...@gmail.com>
Subject Re: Jackrabbit and OSGi
Date Fri, 29 May 2009 18:35:33 GMT
Hi Felix,

thank you for

[1] http://cwiki.apache.org/SLING/launching-a-jcr-repository-inside-equinox.html

that helps me a lot :-)

CHristian

2009/5/29 Felix Meschberger <fmeschbe@gmail.com>:
> Hi Christian,
>
> Why do you want to register the Session as a service ?
>
> While I cannot tell about the problems with Equinox (over in Apache Sling we
> are using Felix Framework, to tests with Equinox show no problems at all...)
>
> Anywy, regarding OSGi-fication of Jackrabbit: Some libraries are OSGi
> bundles already: the Jackrabbit API, the Jackrabbit JCR Commons, Jackrabbit
> JCR RMI. Others might follow.
>
> With the embedded Jackrabbit Repository it is not so simple, because
> repository has quite an extensive list of dependencies and you would have to
> decide whether to include these in the bundle or import them.
>
> In Apache Sling, we have created a Jackrabbit Server bundle which provides
> an embedded Jackrabbit Repository and registers it as a service. See also
> the Sling wiki page [1] about launching Jackrabbit inside Eclipse.
>
> Hope this helps.
>
> Regards
> Felix
>
> [1]
> http://cwiki.apache.org/SLING/launching-a-jcr-repository-inside-equinox.html
>
> Christian Trutz schrieb:
>>
>> Hello,
>>
>> i am trying to register a jackrabbit javax.jcr.Session as OSGi
>> Service, something like:
>>
>>       /**
>>         * {@inheritDoc}
>>         *
>>         * @see BundleActivator#start(BundleContext)
>>         */
>>        public void start(BundleContext context) throws Exception {
>>                this.repository = new TransientRepository();
>>                Session session = repository.login();
>>                sessionServiceRegistration =
>> context.registerService(Session.class.getName(), session, new
>> Properties());
>>        }
>>
>>
>> and it does not work because of:
>>
>>
>> org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
>>        at
>> org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1144)
>>        at
>> org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:263)
>>        at
>> org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400)
>>        at
>> org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
>>        at
>> org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:427)
>>        at
>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:193)
>>        at
>> org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:368)
>>        at
>> org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:444)
>>        at
>> org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:397)
>>        at
>> org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:385)
>>        at
>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)
>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
>>        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
>>        at
>> org.apache.lucene.index.DocumentsWriterThreadState.<init>(DocumentsWriterThreadState.java:38)
>>        at
>> org.apache.lucene.index.DocumentsWriter.getThreadState(DocumentsWriter.java:680)
>>        at
>> org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:755)
>>        at
>> org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:743)
>>        at
>> org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1917)
>>        at
>> org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1895)
>>        at
>> org.apache.jackrabbit.core.query.lucene.AbstractIndex$1.call(AbstractIndex.java:183)
>>        at
>> org.apache.jackrabbit.core.query.lucene.DynamicPooledExecutor$1.call(DynamicPooledExecutor.java:109)
>>        at EDU.oswego.cs.dl.util.concurrent.FutureResult$1.run(Unknown
>> Source)
>>        at
>> EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
>>        at java.lang.Thread.run(Thread.java:619)
>>
>> All jackrabbit jars dependencies are included into my bundle, they are
>> NOT registred as extra bundles.
>> I see that only jackrabbit-api is a OSGi bundle ... Is it planed for
>> release 2.0 to bundlefy all jackrabbit
>> components? (and theirs related dependencies)
>>
>>
>> Regards
>> Christian
>>
>



-- 
Christian Trutz
Von-Flotow-Straße 24
D-45772 Marl

Festnetz (privat):      +49 (0)2365 3840327
Fax (privat):             +49 (0)2365 3840328
Mobil (geschäftlich): +49 (0)151 52745-172
E-Mail: christian.trutz@gmail.com
Blog: http://christiantrutz.blogspot.com/

Mime
View raw message