Hi Peter,

Thanks for initiating this work on OSGi bundle.
I've forked you repository and tried to make is work using this sample 
activator [1]. My goal is to make my activator work when deployed on Felix with 
the neo4j superbundle.
First of all, I had troubles to mvn clean install the bundle module. 
maven-bundle-plugin is complaining about bundle.namespace property not set. 
I've fixed it.
Then when deploying it on Felix I had an error saying that javax.transaction 
couldn't be imported. Because this package is already included in superbundle, 
I've removed it explicitally from the Import-Package directive. You can see the 
changes here [2].
Then I tried to make my bundle activated using felix and the following bundles 
installed :
g! lb
START LEVEL 1
   ID|State      |Level|Name
    0|Active     |    0|System Bundle (3.2.2)
    1|Active     |    1|Neo4j OSGi default bundle (0.1.0.SNAPSHOT)
    2|Active     |    1|Apache Felix Bundle Repository (1.6.2)
    3|Active     |    1|Apache Felix Gogo Command (0.8.0)
    4|Active     |    1|Apache Felix Gogo Runtime (0.8.0)
    5|Active     |    1|Apache Felix Gogo Shell (0.8.0)
    6|Resolved   |    1|EscapeK - Neo4j OSGi how-to - Embedded client 
(0.0.1.SNAPSHOT)
There are only felix core, neo4j superbundle and my test bundle.
So when starting felix I get the following trace : 
____________________________
Welcome to Apache Felix Gogo

g! Opening database in embedded mode: 17 juil. 2011 14:57:08 
org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog doInternalRecovery
INFO: Non clean shutdown detected on log [graphdb/nioneo_logical.log.1]. 
Recovery started ...
OK
Populating it ... OK
Hello, brave Neo4j world!
ERROR: Bundle org.escapek.neo4j-osgi-howto.embedded-client [6] Error starting 
file:/Users/nico/Dev/felix-framework-3.2.2/bundle/org.escapek.neo4j-osgi-howto.embedded-client_0.0.1-SNAPSHOT.jar
 (org.osgi.framework.BundleException: Activator start error in bundle 
org.escapek.neo4j-osgi-howto.embedded-client [6].)
java.lang.IllegalArgumentException: No index provider 'lucene' found
        at 
org.neo4j.kernel.IndexManagerImpl.getIndexProvider(IndexManagerImpl.java:76)
        at 
org.neo4j.kernel.IndexManagerImpl.findIndexConfig(IndexManagerImpl.java:116)
        at 
org.neo4j.kernel.IndexManagerImpl.getOrCreateIndexConfig(IndexManagerImpl.java:178)
        at 
org.neo4j.kernel.IndexManagerImpl.getOrCreateNodeIndex(IndexManagerImpl.java:267)
        at org.neo4j.kernel.IndexManagerImpl.forNodes(IndexManagerImpl.java:255)
        at org.neo4j.kernel.IndexManagerImpl.forNodes(IndexManagerImpl.java:249)
        at 
org.escapek.neo4jOsgiHowto.embeddedClient.EmbeddedClientActivator.start(EmbeddedClientActivator.java:65)
        at 
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:629)
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1904)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:1822)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1192)
        at 
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:266)
        at java.lang.Thread.run(Thread.java:680)

So everything works fine (open database, populate it and register service) 
until the activator tries to register IndexProvider service. I then get the 
previous exception which reminds me of something ...

May be you can have a look at the stack trace to look for the error cause.
 
NJ


[1] - 
https://github.com/njouanin/neo4j-osgi-howto/blob/master/embedded-client/src/main/java/org/escapek/neo4jOsgiHowto/embeddedClient/EmbeddedClientActivator.java
[2] - 
https://github.com/njouanin/neo4j-osgi/commit/4ec3eaf58b514d806fde3e48dd942c00fdfddf70

Le 5 juil. 2011 à 22:41, Peter Neubauer a écrit :

> Hi all,
> I just pushed an initial working bundle-build to
> https://github.com/neo4j/neo4j-osgi. You can see the working test in
> https://github.com/neo4j/neo4j-osgi/blob/master/examples/src/test/java/org/neo4j/examples/osgi/OSGiTest.java
> that waits for the Activator to instantiate and register a
> GraphDatabaseService and a LuceneIndex.
> 
> This should be tweaked, but maybe you can use the bundle project
> https://github.com/neo4j/neo4j-osgi/blob/master/bundle/pom.xml , which
> is just one pom.xml, as a blueprint for your OSGi environment Neo4j
> bundle.
> 
> Right now JTA and others are drawn into the bundle, which might be too
> much, but I think you get the picture.
> 
> This works even with the Java Service Loader architecture. Feel free
> to fork and tune the bundles exports, and add more tests to it.
> 
> 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.
> _______________________________________________
> 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