Jörg, Will try to check it out tomorrow. Now sleep. Thanks for the test! /peter
Sent from my phone. On Jul 23, 2011 1:10 AM, "Jörg Richter" <j...@deepamehta.de> wrote: > > I'm seriously trying the superbundle approach and can't get rid of "No index provider 'lucene' found". > > The tests at https://github.com/neo4j/neo4j-osgi run successful but I have serious problems to transfer them to my application (I'm using Felix 3.2.1 on a Mac). > > Just to check my understanding: the "No index provider 'lucene' found" problem is with fine granular bundling, OSGi classloaders, and Java's service loader. One way to solve it is the superbundle approach: putting the user application's activator and all required neo and lucene bundles/libs into a single bundle. Correct? > > So I took neo4j-osgi/bundle/pom.xml as an template for my application's pom, especially its bundle plugin configuration: > > <Import-Package>!javax.transaction.*,!com.sun.*,!sun.misc.*,!org.junit.*,!junit.*,*;</Import-Package> > <Export-Package>org.neo4j.*;version="1.4",*</Export-Package> > <Embed-Dependency>*;scope=compile|runtime</Embed-Dependency> > <Embed-Transitive>true</Embed-Transitive> > > and added my application's activator: > > <Bundle-Activator> de.deepamehta.neo4j.Activator</Bundle-Activator> > > The activator's start() method is fairly simple: > > public void start(BundleContext context) { > GraphDatabaseService neo4j = new EmbeddedGraphDatabase("test-db"); > Index<Node> index = neo4j.index().forNodes("exact"); > } > > But it throws: java.lang.IllegalArgumentException: No index provider 'lucene' found > > The bundle list looks fine (#1 is the super bundle): > > ID|State |Level|Name > 0|Active | 0|System Bundle (3.2.1) > 1|Resolved | 5|Neo4j OSGi Test (0.1.0) > 2|Active | 1|Apache Felix Gogo Command (0.8.0) > 3|Active | 1|Apache Felix Gogo Runtime (0.8.0) > 4|Active | 1|Apache Felix Gogo Shell (0.8.0) > > To let you reproduce this I packed a minimal test project here: > https://github.com/jri/neo4j-osgi-test > > Run it: > git clone git://github.com/jri/neo4j-osgi-test.git > cd neo4j-osgi-test > mvn clean install pax:run > > This uses pax runner to provision the super bundle in a Felix runtime. > Deploying the super bundle manually in Felix makes no difference. > > Using the latest Maven bundle plugin (2.3.5 instead of 1.4) makes no difference (after tweaking the pom a little) and also getting rid of the bundle plugin's warnings (again by tweaking the pom) makes no difference. > > Who can help? > > Cheers, > Jörg > > _______________________________________________ > 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