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