Hello everyone

May I chime in here...

We are really interested to see neo4j working in an OSGi environment
esp. together with Spring Data Graph. After an unsuccessful attempt to
get it up and running a couple of weeks ago we gave it another chance
today after seeing this post and after a whole day of debugging and
fiddling around with manifests and template.mf and osgi.bnd we have  -
hurray - a running neo4j and Spring Data Graph setup in Virgo (based
on Equinox).

Regarding the error with the missing lucene index Provider
(java.lang.IllegalArgumentException: No index provider 'lucene' found)
I also would like to refer to this "discussion" here:
https://github.com/neo4j/community/commit/e8574e96315999ab04e1b484717bb2b1a3dfa9be#commitcomment-483325
I also had the "No index provider 'lucene' found" error with neo4j
1.4. With 1.3, the workaround was to export the org.neo4j.index.impl
package, which is not working with 1.4. Instead I just registered an
instance of LuceneIndexProvider from the lucene-index bundle as a osgi
service. After doing this, this index provider can be found as an OSGi
service by the kernel.
We currently register this service within our application, which is
probaby not the right solution. I think the lucene-index bundle should
export the LuceneIndexProvider service itself, shouldn't it?

I also tried to get your example up and running, but I have a missing
dependency: "Failure to find
org.ops4j.pax:tinybundles:jar:1.0.0-SNAPSHOT". Which snapshot
repository does contain the tinybundles jar?


Best regards,
James


2011/7/20 Peter Neubauer <neubauer.pe...@gmail.com>:
> Yup,
> have pulled and can see it. Thanks! Will ask the Toni for a way to
> cleanly shut down the framework so we can get both tests working.
>
> /peter
>
> On Mon, Jul 18, 2011 at 11:58 PM, Peter Neubauer
> <neubauer.pe...@gmail.com> wrote:
>> Nicolas,
>> I am away for 2 days, will try it out after that. Thanks for chipping in!
>>
>> /peter
>>
>> Sent from my phone.
>>
>> On Jul 18, 2011 9:43 PM, "Nicolas Jouanin" <nicolas.joua...@gmail.com>
>> wrote:
>>> Hi Peter,
>>>
>>> I've comited a new test case which work with a pre-built bundle.
>>> It currently fails because in OSGiTest class the first test case doesn't
>>> close the database, but if you remove the @Test before the first test case
>>> the second one will run and succeed.
>>> So the neo4j superbundle seems to work correctly, event if I don't know
>>> what's wrong when doing it by hand on the felix framework. This need more
>>> time to investigate.
>>> Don't hesitate to pull code if needed.
>>>
>>> Nicolas
>>>
>>> Le 17 juil. 2011 à 22:06, Peter Neubauer a écrit :
>>>
>>>> Nicolas,
>>>> the best would be to be able to emulate this in a test, too. Maybe
>>>> classloading issues? Maybe forking the PaxExam test will reproduce the
>>>> issue, or running you Felix setup as a testcase to trigger this?
>>>>
>>>> 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 Sun, Jul 17, 2011 at 9:21 PM, Nicolas Jouanin
>>>> <nicolas.joua...@gmail.com> wrote:
>>>>> I've sent the CLA signup.
>>>>> The OSGiTest is working fine for me too. Problems come when taking the
>>>>> felix framework out of the box and deploying manually neo4j-osgi bundle 
>>>>> with
>>>>> another bundle containing the same activator class.
>>>>> I made sure to deploy same bundles but I get
>>>>> java.lang.IllegalArgumentException: No index provider 'lucene' found when
>>>>> registring the IndexService.
>>>>> I think i miss a bundle which is created automatically by pax during the
>>>>> test case. May be lucene is missing.
>>>>> What do you think
>>>>>
>>>>> Le 17 juil. 2011 à 17:33, Peter Neubauer a écrit :
>>>>>
>>>>>> Hi Nicolas,
>>>>>> Have you been able to run
>>>>>>
>>>>>> https://github.com/njouanin/neo4j-osgi/blob/master/examples/src/test/java/org/neo4j/examples/osgi/OSGiTest.java
>>>>>> properly? It actually is running on Equinox, so let me try it with
>>>>>> Felix ... back in a moment.
>>>>>>
>>>>>> Also, in order to pull your changes, could you sign up as a committer,
>>>>>> and send a mail according to
>>>>>> http://wiki.neo4j.org/content/About_Contributor_License_Agreement ?
>>>>>>
>>>>>>
>>>>>> 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 Sun, Jul 17, 2011 at 3:02 PM, Nicolas Jouanin
>>>>>> <nicolas.joua...@gmail.com> wrote:
>>>>>>> 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
>>>>>>>
>>>>>> _______________________________________________
>>>>>> 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