Hi Peter (and others),

May be you can help me with github...
I'dl like to work on this superbundle using the last version of 
neo4j-community. The problem is that i've already forked this repo for my 
previous work and now I can't fork it anymore. Also, i've made my modifications 
on the master branch.
Do you know a way of getting the last version of the source code without 
loosing my previous work ? I was thinking of checking out back to the time I've 
forked, then create a branch, then pull changes from the original repo.

Thx.

Le 14 juin 2011 à 09:03, Peter Neubauer a écrit :

> Nicolas,
> yes, after looking into the details involved, I think an "official"
> superbundle with the core Neo4j components bundled and exported woudl
> be the best way forward. Also, it would expose less granular bundles
> into an OSGi environment.
> 
> Other IndexProviders etc could be then inserted as fragments into that bundle.
> 
> It would be absolutely fantastic if you could work on that, maybe
> using the neo4j-osgi-examples as the demo project? We could then have
> a packaging project there or in a "neo4j-osgi" component that does the
> actual production of the superbundle.
> 
> WDYT?
> 
> Cheers,
> 
> /peter neubauer
> 
> GTalk:      neubauer.peter
> Skype       peter.neubauer
> Phone       +46 704 106975
> LinkedIn   http://www.linkedin.com/in/neubauer
> Twitter      http://twitter.com/peterneubauer
> 
> http://www.neo4j.org               - Your high performance graph database.
> http://startupbootcamp.org/    - Öresund - Innovation happens HERE.
> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
> 
> 
> 
> On Mon, Jun 13, 2011 at 11:10 AM, Nicolas Jouanin
> <nicolas.joua...@gmail.com> wrote:
>> Hi Peter,
>> 
>> As shown below, exporting the implementation package is enough to make the 
>> IndexProvider registered as OSGi service (see first line of dump). Now an 
>> exception comes later when registering the index. I guess this come from the 
>> fact that you register a service of class IndexProvider whereas 
>> db.index().forNodes() returns an instance of Index.
>> 
>> [Framework Event Dispatcher] INFO 
>> org.neo4j.kernel.impl.osgi.OSGiExtensionLoader - Bundle 
>> org.neo4j.lucene-index: Service org.neo4j.graphdb.index.IndexProvider 
>> registered with implementation org.neo4j.graphdb.index.IndexProvider[lucene]
>> Kernel: attempting to load extensions of type 
>> org.neo4j.kernel.KernelExtension
>> Kernel: attempting to load extensions of type 
>> org.neo4j.graphdb.index.IndexProvider
>> Kernel: attempting to load extensions of type org.neo4j.kernel.Version
>> [Start Level Event Dispatcher] DEBUG 
>> BuildByTinyBundlestinybundles9049558959697757777UID - ServiceEvent REGISTERED
>> [Start Level Event Dispatcher] DEBUG 
>> BuildByTinyBundlestinybundles9049558959697757777UID - ServiceEvent 
>> UNREGISTERING
>> [Framework Event Dispatcher] DEBUG 
>> BuildByTinyBundlestinybundles9049558959697757777UID - BundleEvent STOPPED
>> [Framework Event Dispatcher] DEBUG 
>> BuildByTinyBundlestinybundles9049558959697757777UID - FrameworkEvent ERROR
>> org.osgi.framework.BundleException: Exception in 
>> org.neo4j.examples.osgi.Neo4jActivator.start() of bundle 
>> BuildByTinyBundlestinybundles9049558959697757777UID.
>>        at 
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
>>        at 
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
>>        at 
>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
>>        at 
>> org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
>>        at 
>> org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
>>        at 
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
>>        at 
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
>>        at 
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
>>        at 
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
>>        at 
>> org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
>>        at 
>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
>>        at 
>> org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
>> Caused by: java.lang.IllegalArgumentException: The service object is not an 
>> instance of the service class org.neo4j.graphdb.index.IndexProvider
>>        at 
>> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:201)
>>        at 
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:507)
>>        at 
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:525)
>>        at 
>> org.neo4j.examples.osgi.Neo4jActivator.start(Neo4jActivator.java:43)
>>        at 
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
>>        at java.security.AccessController.doPrivileged(Native Method)
>>        at 
>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
>>        ... 11 more
>> 
>> Just by modifying the test case to register an Index the test now succed :
>>        serviceRegistration = context.registerService( Index.class.getName(), 
>> db.index().forNodes( "nodes" ), new Properties() );
>> 
>> (see result below.
>> 
>> So, after all, that make a lot of modifications for OSGi support ... I guess 
>> the easiest solution would be to create a "super-bundle" which would 
>> encapsulates all the actual bundles in only one. This would fix 
>> export/import package problem, and there could be a specific activator for 
>> this bundle to register services and OSGi stuff. Let me know if this 
>> solution would be acceptable, so may be I could work on this.
>> 
>> 
>> -------------------------------------------------------
>>  T E S T S
>> -------------------------------------------------------
>> Running org.neo4j.examples.osgi.OSGiTest
>> 263 [main] INFO org.ops4j.pax.exam.spi.DefaultExamSystem - Pax Exam System 
>> (Version: 2.1.0) created.
>> 13 juin 2011 11:04:37 org.ops4j.pax.url.mvn.internal.AetherBasedResolver 
>> resolve
>> INFO: Resolved (org.ops4j.pax.exam:pax-exam-container-rbc:jar:2.1.0) as 
>> /Users/nico/.m2/repository/org/ops4j/pax/exam/pax-exam-container-rbc/2.1.0/pax-exam-container-rbc-2.1.0.jar
>> 13 juin 2011 11:04:37 org.ops4j.pax.url.mvn.internal.AetherBasedResolver 
>> resolve
>> INFO: Resolved (org.ops4j.pax.exam:pax-exam-extender-service:jar:2.1.0) as 
>> /Users/nico/.m2/repository/org/ops4j/pax/exam/pax-exam-extender-service/2.1.0/pax-exam-extender-service-2.1.0.jar
>> 13 juin 2011 11:04:37 org.ops4j.pax.url.mvn.internal.AetherBasedResolver 
>> resolve
>> INFO: Resolved (org.osgi:org.osgi.compendium:jar:4.2.0) as 
>> /Users/nico/.m2/repository/org/osgi/org.osgi.compendium/4.2.0/org.osgi.compendium-4.2.0.jar
>> 13 juin 2011 11:04:37 org.ops4j.pax.url.mvn.internal.AetherBasedResolver 
>> resolve
>> INFO: Resolved (org.ops4j.pax.logging:pax-logging-api:jar:1.6.2) as 
>> /Users/nico/.m2/repository/org/ops4j/pax/logging/pax-logging-api/1.6.2/pax-logging-api-1.6.2.jar
>> 13 juin 2011 11:04:38 org.ops4j.pax.url.mvn.internal.AetherBasedResolver 
>> resolve
>> INFO: Resolved (org.ops4j.pax.logging:pax-logging-service:jar:1.6.2) as 
>> /Users/nico/.m2/repository/org/ops4j/pax/logging/pax-logging-service/1.6.2/pax-logging-service-1.6.2.jar
>> 13 juin 2011 11:04:38 org.ops4j.pax.url.mvn.internal.AetherBasedResolver 
>> resolve
>> INFO: Resolved 
>> (javax.transaction:com.springsource.javax.transaction:jar:1.1.0) as 
>> /Users/nico/.m2/repository/javax/transaction/com.springsource.javax.transaction/1.1.0/com.springsource.javax.transaction-1.1.0.jar
>> 13 juin 2011 11:04:38 org.ops4j.pax.url.mvn.internal.AetherBasedResolver 
>> resolve
>> INFO: Resolved (org.neo4j:neo4j-kernel:jar:1.4-SNAPSHOT) as 
>> /Users/nico/.m2/repository/org/neo4j/neo4j-kernel/1.4-SNAPSHOT/neo4j-kernel-1.4-SNAPSHOT.jar
>> 13 juin 2011 11:04:38 org.ops4j.pax.url.mvn.internal.AetherBasedResolver 
>> resolve
>> INFO: Resolved 
>> (org.apache.servicemix.bundles:org.apache.servicemix.bundles.lucene:jar:3.0.3_1)
>>  as 
>> /Users/nico/.m2/repository/org/apache/servicemix/bundles/org.apache.servicemix.bundles.lucene/3.0.3_1/org.apache.servicemix.bundles.lucene-3.0.3_1.jar
>> 13 juin 2011 11:04:38 org.ops4j.pax.url.mvn.internal.AetherBasedResolver 
>> resolve
>> INFO: Resolved (org.neo4j:neo4j-lucene-index:jar:1.4-SNAPSHOT) as 
>> /Users/nico/.m2/repository/org/neo4j/neo4j-lucene-index/1.4-SNAPSHOT/neo4j-lucene-index-1.4-SNAPSHOT.jar
>> [org.ops4j.pax.exam.rbc.internal.Activator] : Name, port or host is null. So 
>> this RBC remains inactive.
>> org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator]
>>  : Enabling SLF4J API support.
>> org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator]
>>  : Enabling Jakarta Commons Logging API support.
>> org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator]
>>  : Enabling Log4J API support.
>> org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator]
>>  : Enabling Avalon Logger API support.
>> org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator]
>>  : Enabling JULI Logger API support.
>> [Framework Event Dispatcher] DEBUG org.ops4j.pax.logging.pax-logging-service 
>> - BundleEvent STARTED
>> activating null null
>> [Framework Event Dispatcher] DEBUG com.springsource.javax.transaction - 
>> BundleEvent STARTED
>> [Framework Event Dispatcher] DEBUG org.neo4j.kernel - BundleEvent STARTED
>> [Framework Event Dispatcher] DEBUG org.neo4j.kernel - ServiceEvent REGISTERED
>> [Framework Event Dispatcher] INFO 
>> org.neo4j.kernel.impl.osgi.OSGiExtensionLoader - Bundle org.neo4j.kernel: 
>> Service org.neo4j.kernel.impl.transaction.TransactionManagerProvider 
>> registered with implementation 
>> org.neo4j.kernel.impl.transaction.TransactionManagerProvider[native]
>> [Framework Event Dispatcher] WARN 
>> org.neo4j.kernel.impl.osgi.OSGiExtensionLoader - Implementation class 
>> org.neo4j.kernel.impl.management.JmxExtension not found by classloader
>> Kernel: attempting to load extensions of type org.neo4j.kernel.Version
>> [Framework Event Dispatcher] DEBUG org.neo4j.kernel - ServiceEvent REGISTERED
>> [Framework Event Dispatcher] INFO 
>> org.neo4j.kernel.impl.osgi.OSGiExtensionLoader - Bundle org.neo4j.kernel: 
>> Service org.neo4j.kernel.Version registered with implementation Neo4j - 
>> Graph Database Kernel 1.4-SNAPSHOT (revision: 1.4.M01-32-g51e2494-dirty)
>> [Framework Event Dispatcher] DEBUG org.apache.servicemix.bundles.lucene - 
>> BundleEvent STARTED
>> [Framework Event Dispatcher] DEBUG org.neo4j.lucene-index - BundleEvent 
>> STARTED
>> [Framework Event Dispatcher] DEBUG org.neo4j.lucene-index - ServiceEvent 
>> REGISTERED
>> [Framework Event Dispatcher] INFO 
>> org.neo4j.kernel.impl.osgi.OSGiExtensionLoader - Bundle 
>> org.neo4j.lucene-index: Service org.neo4j.graphdb.index.IndexProvider 
>> registered with implementation org.neo4j.graphdb.index.IndexProvider[lucene]
>> Kernel: attempting to load extensions of type 
>> org.neo4j.kernel.KernelExtension
>> Kernel: attempting to load extensions of type 
>> org.neo4j.graphdb.index.IndexProvider
>> Kernel: attempting to load extensions of type org.neo4j.kernel.Version
>> [Start Level Event Dispatcher] DEBUG 
>> BuildByTinyBundlestinybundles39457690329512746UID - ServiceEvent REGISTERED
>> [Start Level Event Dispatcher] DEBUG 
>> BuildByTinyBundlestinybundles39457690329512746UID - ServiceEvent REGISTERED
>> registered {org.neo4j.graphdb.index.Index}={service.id=32}
>> [Framework Event Dispatcher] DEBUG 
>> BuildByTinyBundlestinybundles39457690329512746UID - BundleEvent STARTED
>> [Framework Event Dispatcher] DEBUG org.eclipse.osgi - FrameworkEvent 
>> STARTLEVEL CHANGED
>> [Framework Event Dispatcher] DEBUG 
>> org.ops4j.pax.exam.spi.probesupport.intern.DefaultResourceWriter_4102799c - 
>> BundleEvent INSTALLED
>> [Framework Event Dispatcher] DEBUG 
>> org.ops4j.pax.exam.spi.probesupport.intern.DefaultResourceWriter_4102799c - 
>> BundleEvent RESOLVED
>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Test 
>> PaxExam-16a6d302-ed86-4426-88e2-a32c254bf042 to be in 
>> PaxExam-16a6d302-ed86-4426-88e2-a32c254bf042,PaxExam-423a4bba-af37-47ba-a71b-53386361356a,PaxExam-8b013e88-b54b-45f8-ac3d-d3a1b470aeba,PaxExam-517dfd43-8cf6-4212-b4d0-c5809eef1029,
>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Registering 
>> Service: org.ops4j.pax.exam.ProbeInvoker with 
>> Probe-Signature="PaxExam-16a6d302-ed86-4426-88e2-a32c254bf042" and 
>> expression="org.ops4j.pax.exam.testforge.CountBundles;probe"
>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Test 
>> PaxExam-423a4bba-af37-47ba-a71b-53386361356a to be in 
>> PaxExam-16a6d302-ed86-4426-88e2-a32c254bf042,PaxExam-423a4bba-af37-47ba-a71b-53386361356a,PaxExam-8b013e88-b54b-45f8-ac3d-d3a1b470aeba,PaxExam-517dfd43-8cf6-4212-b4d0-c5809eef1029,
>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Registering 
>> Service: org.ops4j.pax.exam.ProbeInvoker with 
>> Probe-Signature="PaxExam-423a4bba-af37-47ba-a71b-53386361356a" and 
>> expression="org.ops4j.pax.exam.testforge.WaitForService;probe"
>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Test 
>> PaxExam-Executable to be in 
>> PaxExam-16a6d302-ed86-4426-88e2-a32c254bf042,PaxExam-423a4bba-af37-47ba-a71b-53386361356a,PaxExam-8b013e88-b54b-45f8-ac3d-d3a1b470aeba,PaxExam-517dfd43-8cf6-4212-b4d0-c5809eef1029,
>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Test 
>> PaxExam-8b013e88-b54b-45f8-ac3d-d3a1b470aeba to be in 
>> PaxExam-16a6d302-ed86-4426-88e2-a32c254bf042,PaxExam-423a4bba-af37-47ba-a71b-53386361356a,PaxExam-8b013e88-b54b-45f8-ac3d-d3a1b470aeba,PaxExam-517dfd43-8cf6-4212-b4d0-c5809eef1029,
>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Registering 
>> Service: org.ops4j.pax.exam.ProbeInvoker with 
>> Probe-Signature="PaxExam-8b013e88-b54b-45f8-ac3d-d3a1b470aeba" and 
>> expression="org.ops4j.pax.exam.testforge.BundlesInState;probe"
>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Test 
>> PaxExam-517dfd43-8cf6-4212-b4d0-c5809eef1029 to be in 
>> PaxExam-16a6d302-ed86-4426-88e2-a32c254bf042,PaxExam-423a4bba-af37-47ba-a71b-53386361356a,PaxExam-8b013e88-b54b-45f8-ac3d-d3a1b470aeba,PaxExam-517dfd43-8cf6-4212-b4d0-c5809eef1029,
>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Registering 
>> Service: org.ops4j.pax.exam.ProbeInvoker with 
>> Probe-Signature="PaxExam-517dfd43-8cf6-4212-b4d0-c5809eef1029" and 
>> expression="org.ops4j.pax.exam.testforge.WaitForService;probe"
>> [main] DEBUG 
>> org.ops4j.pax.exam.spi.probesupport.intern.DefaultResourceWriter_4102799c - 
>> ServiceEvent REGISTERED
>> [main] DEBUG 
>> org.ops4j.pax.exam.spi.probesupport.intern.DefaultResourceWriter_4102799c - 
>> ServiceEvent REGISTERED
>> [main] DEBUG 
>> org.ops4j.pax.exam.spi.probesupport.intern.DefaultResourceWriter_4102799c - 
>> ServiceEvent REGISTERED
>> [main] DEBUG 
>> org.ops4j.pax.exam.spi.probesupport.intern.DefaultResourceWriter_4102799c - 
>> ServiceEvent REGISTERED
>> [Framework Event Dispatcher] DEBUG 
>> org.ops4j.pax.exam.spi.probesupport.intern.DefaultResourceWriter_4102799c - 
>> BundleEvent STARTED
>> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.357 sec
>> 
>> Results :
>> 
>> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
>> 
>> 
>> 
>> 
>> Le 13 juin 2011 à 10:18, Peter Neubauer a écrit :
>> 
>>> Nicolas,
>>> thanks for looking into this! If you only move the LuceneDataSource
>>> into an exported package, for instance org.neo4j.index.lucene, and
>>> export it, would that be sufficient to get the registration done?
>>> 
>>> I don't want to force OSGi upon all Index provider bundles (yet) and
>>> keep the impact of making this work at a minimum.
>>> 
>>> Cheers,
>>> 
>>> /peter neubauer
>>> 
>>> GTalk:      neubauer.peter
>>> Skype       peter.neubauer
>>> Phone       +46 704 106975
>>> LinkedIn   http://www.linkedin.com/in/neubauer
>>> Twitter      http://twitter.com/peterneubauer
>>> 
>>> http://www.neo4j.org               - Your high performance graph database.
>>> http://startupbootcamp.org/    - Öresund - Innovation happens HERE.
>>> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
>>> 
>>> 
>>> 
>>> On Sat, Jun 11, 2011 at 10:21 PM, Nicolas Jouanin
>>> <nicolas.joua...@gmail.com> wrote:
>>>> Hi Peter,
>>>> 
>>>> I've tried to run your test case on my forked version.
>>>> First of all, I got a Framework exception when running the test case out 
>>>> of the box :
>>>> [Framework Event Dispatcher] DEBUG 
>>>> wrap_mvn_org.apache.lucene_lucene-core_3.1.0 - BundleEvent STARTED
>>>> [Framework Event Dispatcher] DEBUG org.neo4j.lucene-index - FrameworkEvent 
>>>> ERROR
>>>> org.osgi.framework.BundleException: The bundle 
>>>> "org.neo4j.lucene-index_1.4.0.SNAPSHOT [9]" could not be resolved. Reason: 
>>>> Missing Constraint: Import-Package: org.apache.lucene.analysis; 
>>>> version="3.0.0"
>>>> 
>>>> This shows the lucene-index bundle has a unresolved imported package. That 
>>>> strange because lucene-core is deployed wrapped into a bundle just before. 
>>>> There may be a problem with the wrapping process... So, i changed the test 
>>>> case to use org.apache.servicemix.bundles.lucene:3.0.3_1, which is a 
>>>> bundled version of lucene 3.0.3 that i've been using during my forking 
>>>> tests. Using this bundle version and my forked bundles, I get the 
>>>> execution trace shown below. The test case still fails, but somewhere 
>>>> else. Let me explain:
>>>> To manage services loaded using JDK service feature from other bundles, my 
>>>> forked version automatically registers declared JDK services as OSGi 
>>>> services. This is done is the OSGiExtensionLoader.registerBundleServices 
>>>> method 
>>>> (https://github.com/njouanin/community/blob/master/kernel/src/main/java/org/neo4j/kernel/impl/osgi/OSGiExtensionLoader.java).
>>>> So, using my forked version, the LuceneIndexProvider is being exposed as 
>>>> OSGi service, so it is visible to OSGi loader and 
>>>> org.neo4j.kernel.IndexManagerImpl.getIndexProvider shouldn't throw 
>>>> IllegalArgumentException anymore.
>>>> BUT, as shown below, i know have a exception during datasource 
>>>> initialisation. The LuceneDataSource class is not visible to the kernel 
>>>> bundle, where service registration occurs. So I see two possible solution 
>>>> for this :
>>>>  - change lucene-index bundle to export-package 
>>>> org.neo4j.index.impl.lucene (bad solution)
>>>>  - add a bundle activator in lucene-index bundle to register 
>>>> LuceneIndexProvider service on bundle startup, but I don't know its 
>>>> dependencies.
>>>> 
>>>> Let me know if my analysis is not clear for you ...
>>>> PS : changes made to the test case have been comited to 
>>>> git://github.com/njouanin/neo4j-osgi-examples.git
>>>> 
>>>> 
>>>> [Framework Event Dispatcher] DEBUG 
>>>> org.ops4j.pax.logging.pax-logging-service - BundleEvent STARTED
>>>> activating null null
>>>> [Framework Event Dispatcher] DEBUG com.springsource.javax.transaction - 
>>>> BundleEvent STARTED
>>>> [Framework Event Dispatcher] DEBUG org.neo4j.kernel - BundleEvent STARTED
>>>> [Framework Event Dispatcher] DEBUG org.neo4j.kernel - ServiceEvent 
>>>> REGISTERED
>>>> [Framework Event Dispatcher] INFO 
>>>> org.neo4j.kernel.impl.osgi.OSGiExtensionLoader - Bundle org.neo4j.kernel: 
>>>> Service org.neo4j.kernel.impl.transaction.TransactionManagerProvider 
>>>> registered with implementation 
>>>> org.neo4j.kernel.impl.transaction.TransactionManagerProvider[native]
>>>> [Framework Event Dispatcher] WARN 
>>>> org.neo4j.kernel.impl.osgi.OSGiExtensionLoader - Implementation class 
>>>> org.neo4j.kernel.impl.management.JmxExtension not found by classloader
>>>> Kernel: attempting to load extensions of type org.neo4j.kernel.Version
>>>> [Framework Event Dispatcher] DEBUG org.neo4j.kernel - ServiceEvent 
>>>> REGISTERED
>>>> [Framework Event Dispatcher] INFO 
>>>> org.neo4j.kernel.impl.osgi.OSGiExtensionLoader - Bundle org.neo4j.kernel: 
>>>> Service org.neo4j.kernel.Version registered with implementation Neo4j - 
>>>> Graph Database Kernel 1.4-SNAPSHOT (revision: 1.4.M01-32-g51e2494-dirty)
>>>> [Framework Event Dispatcher] DEBUG org.apache.servicemix.bundles.lucene - 
>>>> BundleEvent STARTED
>>>> [Framework Event Dispatcher] DEBUG org.neo4j.lucene-index - BundleEvent 
>>>> STARTED
>>>> [Framework Event Dispatcher] DEBUG org.neo4j.lucene-index - ServiceEvent 
>>>> REGISTERED
>>>> [Framework Event Dispatcher] INFO 
>>>> org.neo4j.kernel.impl.osgi.OSGiExtensionLoader - Bundle 
>>>> org.neo4j.lucene-index: Service org.neo4j.graphdb.index.IndexProvider 
>>>> registered with implementation 
>>>> org.neo4j.graphdb.index.IndexProvider[lucene]
>>>> Kernel: attempting to load extensions of type 
>>>> org.neo4j.kernel.KernelExtension
>>>> Kernel: attempting to load extensions of type 
>>>> org.neo4j.graphdb.index.IndexProvider
>>>> org.neo4j.graphdb.TransactionFailureException: Could not create data 
>>>> source lucene-index[lucene-index]
>>>>        at 
>>>> org.neo4j.kernel.impl.transaction.TxModule.registerDataSource(TxModule.java:181)
>>>>        at 
>>>> org.neo4j.index.impl.lucene.LuceneIndexImplementation.<init>(LuceneIndexImplementation.java:72)
>>>>        at 
>>>> org.neo4j.index.impl.lucene.LuceneIndexProvider.load(LuceneIndexProvider.java:38)
>>>>        at 
>>>> org.neo4j.kernel.KernelData.loadIndexImplementations(KernelData.java:146)
>>>>        at 
>>>> org.neo4j.kernel.EmbeddedGraphDbImpl$2.initializeIndexProviders(EmbeddedGraphDbImpl.java:179)
>>>>        at org.neo4j.kernel.GraphDbInstance.start(GraphDbInstance.java:159)
>>>>        at 
>>>> org.neo4j.kernel.EmbeddedGraphDbImpl.<init>(EmbeddedGraphDbImpl.java:189)
>>>>        at 
>>>> org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:79)
>>>>        at 
>>>> org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:63)
>>>>        at 
>>>> org.neo4j.examples.osgi.Neo4jActivator.start(Neo4jActivator.java:41)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
>>>>        at java.security.AccessController.doPrivileged(Native Method)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
>>>>        at 
>>>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
>>>>        at 
>>>> org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
>>>> Caused by: java.lang.ClassNotFoundException: 
>>>> org.neo4j.index.impl.lucene.LuceneDataSource
>>>>        at 
>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)
>>>>        at 
>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
>>>>        at 
>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
>>>>        at 
>>>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
>>>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>>>>        at java.lang.Class.forName0(Native Method)
>>>>        at java.lang.Class.forName(Class.java:169)
>>>>        at 
>>>> org.neo4j.kernel.impl.transaction.XaDataSourceManager.create(XaDataSourceManager.java:67)
>>>>        at 
>>>> org.neo4j.kernel.impl.transaction.TxModule.registerDataSource(TxModule.java:175)
>>>>        ... 23 more
>>>> Kernel: attempting to load extensions of type org.neo4j.kernel.Version
>>>> [Start Level Event Dispatcher] DEBUG 
>>>> BuildByTinyBundlestinybundles3494323386071429083UID - ServiceEvent 
>>>> REGISTERED
>>>> [Start Level Event Dispatcher] DEBUG 
>>>> BuildByTinyBundlestinybundles3494323386071429083UID - ServiceEvent 
>>>> UNREGISTERING
>>>> [Framework Event Dispatcher] DEBUG 
>>>> BuildByTinyBundlestinybundles3494323386071429083UID - BundleEvent STOPPED
>>>> [Framework Event Dispatcher] DEBUG 
>>>> BuildByTinyBundlestinybundles3494323386071429083UID - FrameworkEvent ERROR
>>>> org.osgi.framework.BundleException: Exception in 
>>>> org.neo4j.examples.osgi.Neo4jActivator.start() of bundle 
>>>> BuildByTinyBundlestinybundles3494323386071429083UID.
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
>>>>        at 
>>>> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
>>>>        at 
>>>> org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
>>>> Caused by: java.lang.IllegalArgumentException: No index provider 'lucene' 
>>>> found
>>>>        at 
>>>> org.neo4j.kernel.IndexManagerImpl.getIndexProvider(IndexManagerImpl.java:71)
>>>>        at 
>>>> org.neo4j.kernel.IndexManagerImpl.findIndexConfig(IndexManagerImpl.java:104)
>>>>        at 
>>>> org.neo4j.kernel.IndexManagerImpl.getOrCreateIndexConfig(IndexManagerImpl.java:173)
>>>>        at 
>>>> org.neo4j.kernel.IndexManagerImpl.forNodes(IndexManagerImpl.java:244)
>>>>        at 
>>>> org.neo4j.examples.osgi.Neo4jActivator.start(Neo4jActivator.java:43)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
>>>>        at java.security.AccessController.doPrivileged(Native Method)
>>>>        at 
>>>> org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
>>>>        ... 11 more
>>>> [Framework Event Dispatcher] DEBUG org.eclipse.osgi - FrameworkEvent 
>>>> STARTLEVEL CHANGED
>>>> [Framework Event Dispatcher] DEBUG 
>>>> org.ops4j.pax.exam.spi.probesupport.intern.DefaultResourceWriter_4102799c 
>>>> - BundleEvent INSTALLED
>>>> [Framework Event Dispatcher] DEBUG 
>>>> org.ops4j.pax.exam.spi.probesupport.intern.DefaultResourceWriter_4102799c 
>>>> - BundleEvent RESOLVED
>>>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Test 
>>>> PaxExam-ba231db7-7981-48bb-9b52-94ec505fc5e6 to be in 
>>>> PaxExam-ba231db7-7981-48bb-9b52-94ec505fc5e6,PaxExam-e4039d86-ad59-4cc1-a568-f54ab0b5867f,PaxExam-02ae9fca-aaa3-4028-9297-568a1a4b8dfd,PaxExam-5b5978e7-93ad-4676-aa3b-6565370ad4d6,
>>>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Registering 
>>>> Service: org.ops4j.pax.exam.ProbeInvoker with 
>>>> Probe-Signature="PaxExam-ba231db7-7981-48bb-9b52-94ec505fc5e6" and 
>>>> expression="org.ops4j.pax.exam.testforge.BundlesInState;probe"
>>>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Test 
>>>> PaxExam-Executable to be in 
>>>> PaxExam-ba231db7-7981-48bb-9b52-94ec505fc5e6,PaxExam-e4039d86-ad59-4cc1-a568-f54ab0b5867f,PaxExam-02ae9fca-aaa3-4028-9297-568a1a4b8dfd,PaxExam-5b5978e7-93ad-4676-aa3b-6565370ad4d6,
>>>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Test 
>>>> PaxExam-e4039d86-ad59-4cc1-a568-f54ab0b5867f to be in 
>>>> PaxExam-ba231db7-7981-48bb-9b52-94ec505fc5e6,PaxExam-e4039d86-ad59-4cc1-a568-f54ab0b5867f,PaxExam-02ae9fca-aaa3-4028-9297-568a1a4b8dfd,PaxExam-5b5978e7-93ad-4676-aa3b-6565370ad4d6,
>>>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Registering 
>>>> Service: org.ops4j.pax.exam.ProbeInvoker with 
>>>> Probe-Signature="PaxExam-e4039d86-ad59-4cc1-a568-f54ab0b5867f" and 
>>>> expression="org.ops4j.pax.exam.testforge.CountBundles;probe"
>>>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Test 
>>>> PaxExam-02ae9fca-aaa3-4028-9297-568a1a4b8dfd to be in 
>>>> PaxExam-ba231db7-7981-48bb-9b52-94ec505fc5e6,PaxExam-e4039d86-ad59-4cc1-a568-f54ab0b5867f,PaxExam-02ae9fca-aaa3-4028-9297-568a1a4b8dfd,PaxExam-5b5978e7-93ad-4676-aa3b-6565370ad4d6,
>>>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Registering 
>>>> Service: org.ops4j.pax.exam.ProbeInvoker with 
>>>> Probe-Signature="PaxExam-02ae9fca-aaa3-4028-9297-568a1a4b8dfd" and 
>>>> expression="org.ops4j.pax.exam.testforge.WaitForService;probe"
>>>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Test 
>>>> PaxExam-5b5978e7-93ad-4676-aa3b-6565370ad4d6 to be in 
>>>> PaxExam-ba231db7-7981-48bb-9b52-94ec505fc5e6,PaxExam-e4039d86-ad59-4cc1-a568-f54ab0b5867f,PaxExam-02ae9fca-aaa3-4028-9297-568a1a4b8dfd,PaxExam-5b5978e7-93ad-4676-aa3b-6565370ad4d6,
>>>> [main] DEBUG org.ops4j.pax.exam.raw.extender.intern.Probe - Registering 
>>>> Service: org.ops4j.pax.exam.ProbeInvoker with 
>>>> Probe-Signature="PaxExam-5b5978e7-93ad-4676-aa3b-6565370ad4d6" and 
>>>> expression="org.ops4j.pax.exam.testforge.WaitForService;probe"
>>>> [main] DEBUG 
>>>> org.ops4j.pax.exam.spi.probesupport.intern.DefaultResourceWriter_4102799c 
>>>> - ServiceEvent REGISTERED
>>>> [main] DEBUG 
>>>> org.ops4j.pax.exam.spi.probesupport.intern.DefaultResourceWriter_4102799c 
>>>> - ServiceEvent REGISTERED
>>>> [main] DEBUG 
>>>> org.ops4j.pax.exam.spi.probesupport.intern.DefaultResourceWriter_4102799c 
>>>> - ServiceEvent REGISTERED
>>>> [main] DEBUG 
>>>> org.ops4j.pax.exam.spi.probesupport.intern.DefaultResourceWriter_4102799c 
>>>> - ServiceEvent REGISTERED
>>>> [Framework Event Dispatcher] DEBUG 
>>>> org.ops4j.pax.exam.spi.probesupport.intern.DefaultResourceWriter_4102799c 
>>>> - BundleEvent STARTED
>>>> Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 6.141 sec 
>>>> <<< FAILURE!
>>>> 
>>>> Results :
>>>> 
>>>> Failed tests:
>>>>  neo4jStartupTest(org.neo4j.examples.osgi.OSGiTest)
>>>> 
>>>> Tests run: 1, Failures: 1, Errors: 0, Skipped: 0
>>>> 
>>>> 
>>>> 
>>>> Le 10 juin 2011 à 10:00, Peter Neubauer a écrit :
>>>> 
>>>>> Yeah,
>>>>> that would be great Nicolas! The only thing is that you will need to
>>>>> build Pax Tinybundles,
>>>>> 
>>>>> g...@github.com:ops4j/org.ops4j.pax.tinybundles.git since I am using
>>>>> SNAPSHOT dep there.
>>>>> 
>>>>> Lemme know if you need help!
>>>>> 
>>>>> Cheers,
>>>>> 
>>>>> /peter neubauer
>>>>> 
>>>>> GTalk:      neubauer.peter
>>>>> Skype       peter.neubauer
>>>>> Phone       +46 704 106975
>>>>> LinkedIn   http://www.linkedin.com/in/neubauer
>>>>> Twitter      http://twitter.com/peterneubauer
>>>>> 
>>>>> http://www.neo4j.org               - Your high performance graph database.
>>>>> http://startupbootcamp.org/    - Öresund - Innovation happens HERE.
>>>>> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
>>>>> 
>>>>> 
>>>>> 
>>>>> On Fri, Jun 10, 2011 at 9:43 AM, Nicolas Jouanin
>>>>> <nicolas.joua...@gmail.com> wrote:
>>>>>> Hi,
>>>>>> I'll try this during the weekend if you agree and I'll let you know.
>>>>>> 
>>>>>> 
>>>>>> 2011/6/9 Peter Neubauer <peter.neuba...@neotechnology.com>
>>>>>> 
>>>>>>> Nicolas,
>>>>>>> I have now a failing testcase (albeit using snapshot versions of PAX
>>>>>>> stuff, trying to relax that ASAP) at
>>>>>>> https://github.com/neo4j/neo4j-osgi-examples that exposes the
>>>>>>> IndexProvider not being found in OSGi environments.
>>>>>>> 
>>>>>>> Is your fork of Neo4j Community fixing this issue? In that case, it
>>>>>>> would be great to verify it against the testcase and merge it in!
>>>>>>> 
>>>>>>> Cheers,
>>>>>>> 
>>>>>>> /peter neubauer
>>>>>>> 
>>>>>>> GTalk:      neubauer.peter
>>>>>>> Skype       peter.neubauer
>>>>>>> Phone       +46 704 106975
>>>>>>> LinkedIn   http://www.linkedin.com/in/neubauer
>>>>>>> Twitter      http://twitter.com/peterneubauer
>>>>>>> 
>>>>>>> http://www.neo4j.org               - Your high performance graph 
>>>>>>> database.
>>>>>>> http://startupbootcamp.org/    - Öresund - Innovation happens HERE.
>>>>>>> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> On Thu, Jun 2, 2011 at 10:33 AM, Nicolas Jouanin
>>>>>>> <nicolas.joua...@gmail.com> wrote:
>>>>>>>> Hi,
>>>>>>>> 
>>>>>>>> This page may help you :
>>>>>>> http://wiki.escapek.org/display/DEV/Neo4j+community+edition+installation
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Le 2 juin 2011 à 09:30, Super Wang a écrit :
>>>>>>>> 
>>>>>>>>> I've tried to expose org.neo4j.graphdb.GraphDatabaseService as a 
>>>>>>>>> service
>>>>>>>>> component directly and use a delegate class as implementation, but
>>>>>>> failed...
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On Thu, Jun 2, 2011 at 12:34, Andreas Kollegger <
>>>>>>>>> andreas.kolleg...@neotechnology.com> wrote:
>>>>>>>>> 
>>>>>>>>>> Hey,
>>>>>>>>>> 
>>>>>>>>>> The Neo4j libraries should be usable within OSGi, though we're a bit
>>>>>>> lax in
>>>>>>>>>> keeping on top of that. The best approach would be to use one bundle 
>>>>>>>>>> to
>>>>>>>>>> instantiate the database and advertise the reference as a service for
>>>>>>> use by
>>>>>>>>>> other bundles.
>>>>>>>>>> 
>>>>>>>>>> Cheers,
>>>>>>>>>> Andreas
>>>>>>>>>> 
>>>>>>>>>> On Jun 1, 2011, at 8:25 PM, Super Wang wrote:
>>>>>>>>>> 
>>>>>>>>>>> Hi folks,
>>>>>>>>>>> 
>>>>>>>>>>> I'm new to neo4j and I'm going to embed neo4j to my OSGI
>>>>>>>>>> environment(without
>>>>>>>>>>> Spring) as a component, so I can keep a single instance of graph
>>>>>>> database
>>>>>>>>>>> and can make it available for all other bundles.
>>>>>>>>>>> 
>>>>>>>>>>> Any ideas about how to implement this?
>>>>>>>>>>> 
>>>>>>>>>>> Thank you very much.
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Neo4j mailing list
>>>>>>>>>>> User@lists.neo4j.org
>>>>>>>>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>>>>>>> 
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Neo4j mailing list
>>>>>>>>>> User@lists.neo4j.org
>>>>>>>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> Neo4j mailing list
>>>>>>>>> User@lists.neo4j.org
>>>>>>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> Neo4j mailing list
>>>>>>>> User@lists.neo4j.org
>>>>>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> Neo4j mailing list
>>>>>>> User@lists.neo4j.org
>>>>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>>>> 
>>>>>> _______________________________________________
>>>>>> Neo4j mailing list
>>>>>> User@lists.neo4j.org
>>>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>>>> 
>>>>> _______________________________________________
>>>>> Neo4j mailing list
>>>>> User@lists.neo4j.org
>>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>> 
>>>> _______________________________________________
>>>> Neo4j mailing list
>>>> User@lists.neo4j.org
>>>> https://lists.neo4j.org/mailman/listinfo/user
>>>> 
>>> _______________________________________________
>>> Neo4j mailing list
>>> User@lists.neo4j.org
>>> https://lists.neo4j.org/mailman/listinfo/user
>> 
>> _______________________________________________
>> Neo4j mailing list
>> User@lists.neo4j.org
>> https://lists.neo4j.org/mailman/listinfo/user
>> 
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user

_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to