Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

 

 

 


Newtablink
aliasNeo4J
urlhttp://neo4j.com/
 is a great Graph Database and
Newtablink
aliasOSGI
urlhttp://www.osgi.org/Main/HomePage
is currently the most serious modularisation framework for Java. Unfortunately Neo4J is not OSGI friendly out of the box and consequently we need to repackage it. 

Have a clean integration of Neo4J on OSGI runtime is a major point for the 

Newtablink
aliasAriane project
urlhttp://ariane.echinopsii.net
 as in the long term Ariane will be composed by plenty of OSGI modules and µ-services. For the OSGI value proposition let's have a look to 
Newtablink
aliasthis
urlhttp://www.osgi.org/Technology/WhyOSGi
 and 
Newtablink
aliasthis
urlhttp://tensegrity.hellblazer.com/2009/10/19/all_we_need_to_do_is_take_these_lies_and_make_them_true_somehow/

There is a lot of OSGI runtime and most of them are working well. We decided to go with 

Newtablink
aliasEclipseVirgo
urlhttp://www.eclipse.org/virgo/
 because we failed 
Newtablink
aliasto make work
urlhttps://issues.jboss.org/browse/ESB-1529
 
Newtablink
aliasPrimefaces
urlhttp://primefaces.org/
 on 
Newtablink
aliashttp://karaf.apache.org/
urlApache Karaf
 at the time we have to choose our OSGI container. Since then Apache Karaf seems have provided a 
Newtablink
aliascorrection
urlhttps://ops4j1.jira.com/browse/PAXWEB-130
 on that subject but I never get time to test it again. So I'm not saying Eclipse Virgo is better than Apache Karaf. Eclipse Virgo is just working well for our current needs on the Ariane project. But finally the work done here with Eclipse Virgo should be reusable on Apache Karaf. Some little work will be necessary but not so much. Let me know if you're planning to do that work and I'll be happy to help you.

Target of this blog post is show how to integrate the orginal Neo4J community distribution on the Eclipse Virgo Kernel. Main idea here is to make work Neo4J in Eclipse Virgo with a minimal work and the minimal overhead : that's why we choose Eclipse Virgo Kernel and not Eclipse Virgo Tomcat/Jetty. Finally at the end of this blog post you'll be able to run Neo4J on an OSGI environment as if you run it from the official distribution.

 

 

 


Prepare Virgo Kernel to embed Neo4J

We first need to changes some Virgo Kernel configurations. So if not done already you have to download Virgo Kernel (last version is 3.6.3) and unzip it in some working directory. Let's call now $VIRGO_HOME the installed Virgo directory. You also have to get and install some JRE 1.7 to run Virgo.
 

Setup Virgo Java 1.7 environment

First of all you need to enable JavaSE 1.7 for Virgo: edit the $VIRGO_HOME/configuration/java6-server.profile and add JavaSE-1,7 to the org.osgi.framework.executionenvironment list :

Code Block
titlediff configuration/java6-server.profile
themeRDark
@@ -209,5 +209,6 @@ org.osgi.framework.executionenvironment = \
  J2SE-1.3,\
  J2SE-1.4,\
  J2SE-1.5,\
- JavaSE-1.6
+ JavaSE-1.6,\
+ JavaSE-1.7
 osgi.java.profile.name = Virgo-Java6

Setup Virgo SSH

To deploy OSGI bundles or Virgo plans|pars, we will use the Virgo SSH console. You need to enable the Virgo SSH consoles by editing following files :

  • $VIRGO_HOME/configuration/osgi.console.properties for the virgo kernel region
  • $VIRGO_HOME/repository/ext/osgi.console.properties for the virgo user region

Info
titleVirgo Regions

To know more about Virgo regions let's have a look to the

Newtablink
aliasVirgo documentation
urlhttps://eclipse.org/virgo/documentation/virgo-documentation-2.1.1.RELEASE/docs/virgo-user-guide/html/ch05.html
.

Code Block
titlediff configuration/osgi.console.properties
themeRDark
@@ -1,6 +1,6 @@
 telnet.enabled=false
 telnet.port=2401
 telnet.host=localhost
-ssh.enabled=false
+ssh.enabled=true
 ssh.port=2402
-ssh.host=localhost
\ No newline at end of file
+ssh.host=localhos
Code Block
titlediff repository/ext/osgi.console.properties
themeRDark
@@ -1,6 +1,6 @@
 telnet.enabled=false
 telnet.port=2501
 telnet.host=localhost
-ssh.enabled=false
+ssh.enabled=true
 ssh.port=2502
-ssh.host=localhost
\ No newline at end of file
+ssh.host=localhost
Info
titleVirgo users configuration

You can connect on Virgo through SSH by using the default user/password : admin/springsource.
You can configure the Virgo users through following file : $VIRGO_HOME/configuration/org.eclipse.virgo.kernel.users.properties
To know more about authentication in Virgo let's have a look to

Newtablink
aliasVirgo documentation
urlhttp://www.eclipse.org/virgo/documentation/virgo-documentation-3.6.0.M02/docs/virgo-user-guide/html/ch13s06.html#configuring-authentication

 

Setup Virgo neo4j-community repository

Finally we setup a dedicated neo4j-community repository into Virgo by :

  • creating the $VIRGO_HOME/repository/neo4j-community directory
  • editing the $VIRGO_HOME/configuration/org.eclipse.virgo.repository.properties file


Code Block
titlediff configuration/org.eclipse.virgo.repository.properties
themeRDark
@@ -1,7 +1,11 @@
 ext.type=external
 ext.searchPattern=repository/ext/{artifact}
 
+neo4j-community.type=external
+neo4j-community.searchPattern=repository/neo4j-community/{artifact}
+
+
 usr.type=watched
 usr.watchDirectory=repository/usr
 
-chain=ext,usr
+chain=ext,neo4j-community,usr
Info
titleExternal vs Watched Virgo repository

You may want to configure a watched repository instead of an external one (Virgo will then load changes on the repository at runtime). To know more about Virgo provisioning repository look at the

Newtablink
aliasVirgo documentation
urlhttps://eclipse.org/virgo/documentation/virgo-documentation-2.1.1.RELEASE/docs/virgo-user-guide/html/ch11s04.html
.

 

 


Install Neo4j into Eclipse Virgo Kernel

Neo4J community classpath

When you unzip the Neo4j community distribution you have two directories where you can find Neo4J JARs which are composing the Neo4J runtime classpath :

  • $NEO4J_HOME/system/lib
  • $NEO4J_HOME/lib

There is a lot of non ready OSGI JARs in the Neo4J 2.1.2 community distribution and most of them are coming from Neo4J JARs. We have different ways to manage these non OSGI friendly JARs we will choose depending on the situations. Our strategy is resumed at the end of this blog post.

 

Install OSGI ready Neo4j dependencies into Virgo

Neo4J community dependencies will be installed in $VIRGO_HOME/repository/neo4j-community. All these bundles are public bundle you can find on maven repos (eg : 

Newtablink
aliashttp://nexus.echinopsii.net
urlhttp://nexus.echinopsii.net/nexus/
).

 

Code Block
titleList of primary Neo4J community dependencies to install
themeRDark
commons-beanutils-1.8.3.jar                        com.springsource.org.objectweb.asm-3.1.0.jar  jetty-security-9.0.5.v20130815.jar  org.apache.servicemix.bundles.jline-0.9.94_1.jar
commons-collections-3.2.1.jar                      concurrentlinkedhashmap-lru-1.3.1.jar         jetty-server-9.0.5.v20130815.jar    org.apache.servicemix.bundles.lucene-3.6.2_1.jar
commons-configuration-1.6.jar                      jackson-core-asl-1.9.7.jar                    jetty-servlet-9.0.5.v20130815.jar   parboiled-core-1.1.6.jar
commons-digester-1.8.1.jar                         jackson-jaxrs-1.9.7.jar                       jetty-util-9.0.5.v20130815.jar      parboiled-scala_2.10-1.1.6.jar
commons-lang-2.4.jar                               jackson-mapper-asl-1.9.7.jar                  jetty-webapp-9.0.5.v20130815.jar    scala-library-2.10.4.jar
com.springsource.org.bouncycastle.jce-1.39.0.jar   jetty-http-9.0.5.v20130815.jar                jetty-xml-9.0.5.v20130815.jar       
com.springsource.org.bouncycastle.mail-1.39.0.jar  jetty-io-9.0.5.v20130815.jar                  mimepull-1.6.jar			         

 

To makes some of these bundles happy in OSGI environment you also need to add others bundles to fit the dependencies.

  • org.apache.commons.configuration 1.6.0 needs javax.mail_1.4.0.v201005080615.jar.
    I installed this one in $VIRGO_HOME/repository/ext as this is the target repository for this bundle in the Virgo Tomcat distribution.
     
  • org.apache.commons.configuration 1.6.0 needs commons-codec_1.5.jar.
    I installed this one in $VIRGO_HOME/repository/ext as this is the target repository for this bundle in the Virgo Tomcat distribution.
     
  • org.apache.commons.configuration 1.6.0 needs commons-jxpath-1.3.jar.
    I installed this one in $VIRGO_HOME/repository/neo4j-community.
     
  • org.apache.commons.jxpath 1.3.0 needs javax.servlet.jsp_2.2.0.v201112011158.jar
    I installed this one in $VIRGO_HOME/repository/ext as this is the target repository for this bundle in the Virgo Tomcat distribution.
     
  • javax.servlet.jsp 2.2.0.v201112011158 needs javax.el_2.2.0.v201108011116.jar
    I installed this one in $VIRGO_HOME/repository/ext as this is the target repository for this bundle in the Virgo Tomcat distribution.
     
  • org.apache.commons.jxpath 1.3.0 needs com.springsource.org.jdom-1.1.0.jar
    I installed this one in $VIRGO_HOME/repository/neo4j-community.

 

Finally after these first dependencies install repositories look like this :

 

Code Block
title$VIRGO_HOME/repository/ext
themeRDark
commons-codec_1.5.jar                                               org.eclipse.equinox.region_1.1.0.v20120319-1602.jar      org.eclipse.virgo.kernel.deployer.dm_3.6.3.RELEASE.jar   org.springframework.asm_3.1.0.RELEASE.jar
com.springsource.org.aopalliance_1.0.0.jar                          org.eclipse.equinox.util_1.0.300.v20111010-1614.jar      org.eclipse.virgo.kernel.dmfragment_3.6.3.RELEASE.jar    org.springframework.beans_3.1.0.RELEASE.jar
com.springsource.org.apache.commons.fileupload_1.2.0.v20110525.jar  org.eclipse.gemini.blueprint.core_1.0.2.RELEASE.jar      org.eclipse.virgo.kernel.userregion.blueprint.plan       org.springframework.context_3.1.0.RELEASE.jar
com.springsource.org.apache.commons.io_1.4.0.jar                    org.eclipse.gemini.blueprint.extender_1.0.2.RELEASE.jar  org.eclipse.virgo.management.fragment_3.6.3.RELEASE.jar  org.springframework.core_3.1.0.RELEASE.jar
javax.el_2.2.0.v201108011116.jar                                    org.eclipse.gemini.blueprint.io_1.0.2.RELEASE.jar        org.eclipse.virgo.management.plan                        org.springframework.expression_3.1.0.RELEASE.jar
javax.mail_1.4.0.v201005080615.jar                                  org.eclipse.gemini.management_1.0.5.RELEASE.jar          org.jolokia.osgi_1.0.2.jar                               osgi.console.properties
javax.servlet.jsp_2.2.0.v201112011158.jar                           org.eclipse.osgi.services_3.3.0.v20120307-2102.jar       org.osgi.enterprise_4.2.0.v201108120515.jar
org.eclipse.equinox.ds_1.4.0.v20120112-1400.jar                     org.eclipse.virgo.kernel.agent.dm_3.6.3.RELEASE.jar      org.springframework.aop_3.1.0.RELEASE.jar

 

 

Code Block
title$VIRGO_HOME/repository/neo4j-community
themeRDark
commons-beanutils-1.8.3.jar    com.springsource.org.bouncycastle.jce-1.39.0.jar   jackson-jaxrs-1.9.7.jar             jetty-servlet-9.0.5.v20130815.jar                 org.apache.servicemix.bundles.lucene-3.6.2_1.jar
commons-collections-3.2.1.jar  com.springsource.org.bouncycastle.mail-1.39.0.jar  jackson-mapper-asl-1.9.7.jar        jetty-util-9.0.5.v20130815.jar                    org.apache.servicemix.bundles.neo4j.community-2.1.2.jar
commons-configuration-1.6.jar  com.springsource.org.jdom-1.1.0.jar                jetty-http-9.0.5.v20130815.jar      jetty-webapp-9.0.5.v20130815.jar                  parboiled-core-1.1.6.jar
commons-digester-1.8.1.jar     com.springsource.org.objectweb.asm-3.1.0.jar       jetty-io-9.0.5.v20130815.jar        jetty-xml-9.0.5.v20130815.jar                     parboiled-scala_2.10-1.1.6.jar
commons-jxpath-1.3.jar         concurrentlinkedhashmap-lru-1.3.1.jar              jetty-security-9.0.5.v20130815.jar  mimepull-1.6.jar                                  scala-library-2.10.4.jar
commons-lang-2.4.jar           jackson-core-asl-1.9.7.jar                         jetty-server-9.0.5.v20130815.jar    org.apache.servicemix.bundles.jline-0.9.94_1.jar

 

Transform non OSGI friendly JARs dependencies into OSGI bundles 

There is some Neo4J dependencies which are not OSGI friendly JARs and we need to transform them as OSGI bundles. That transformation implies defining an OSGI ready manifest into these JARs without touching any line of codes. 
This task could be very boring but Eclipse Virgo offers us a cool tool which produces relevant OSGI manifest from a JAR file : 

Newtablink
aliasEclipse Virgo Bundlor
urlhttp://www.eclipse.org/virgo/documentation/bundlor-documentation-1.1.2.RELEASE/docs/user-guide/html/index.html


To make our life more easier, we provide some scripting around this tool and a collection of bundlor manifests in our 
Newtablink
aliasosgi factory
urlhttps://stash.echinopsii.net/projects/NECII/repos/osgi.factory/browse
. This is the way we created the following bundles from original JARs to install into Virgo Kernel neo4j-community repository.
Actually most of the bundles generated through the echinopsii osgi factory can be downloaded from the 
Newtablink
aliasechinopsii maven repository
urlhttp://nexus.echinopsii.net/nexus/

 

Original JAR nameBundle nameBundlor manifestComments
logback-access-1.0.7net.echinopsii.3rdparty.logback-access-1.0.7

Newtablink
aliasgo to manifest
urlhttps://stash.echinopsii.net/projects/NECII/repos/osgi.factory/browse/bundlor.maker/manifests/logback/logback-access-1.0.7.mf

This bundle has been regenerated from the original one to declare some dependencies as optional (like tomcat dependencies)
opencsv-2.0.0net.echinopsii.3rdparty.net.sf.opencsv-2.0.0

Newtablink
aliasgo to manifest
urlhttps://stash.echinopsii.net/projects/NECII/repos/osgi.factory/browse/bundlor.maker/manifests/net/sf/opencsv/opencsv-2.0.mf

Neo4J original dependency as a bundle
janino-2.6.1net.echinopsii.3rdparty.org.codehaus.janino.janino-2.6.1.jar

Newtablink
aliasgo to manifest
urlhttps://stash.echinopsii.net/projects/NECII/repos/osgi.factory/browse/bundlor.maker/manifests/org/codehaus/janino/janino-2.6.1.mf

Neo4J original dependency as a bundle
commons-compiler-2.6.1net.echinopsii.3rdparty.org.codehaus.janino.commons-compiler-2.6.1.jar

Newtablink
aliasgo to manifest
urlhttps://stash.echinopsii.net/projects/NECII/repos/osgi.factory/browse/bundlor.maker/manifests/org/codehaus/janino/commons-compiler-2.6.1.mf

Needed dependency for janino-2.6.1
ant-1.8.2net.echinopsii.3rdparty.org.apache.ant-1.8.2.jar

Newtablink
aliasgo to manifest
urlhttps://stash.echinopsii.net/projects/NECII/repos/osgi.factory/browse/bundlor.maker/manifests/org/apache/ant/ant-1.8.2.mf

Needed dependency for janino-2.6.1
ant-launcher-1.8.2net.echinopsii.3rdparty.org.apache.ant-launcher-1.8.2.jar

Newtablink
aliasgo to manifest
urlhttps://stash.echinopsii.net/projects/NECII/repos/osgi.factory/browse/bundlor.maker/manifests/org/apache/ant/ant-launcher.1.8.2.mf

Needed dependency for janino-2.6.1
rhino-1.7.4net.echinopsii.3rdparty.org.mozilla.rhino-1.7.4.jar

Newtablink
aliasgo to manifest
urlhttps://stash.echinopsii.net/projects/NECII/repos/osgi.factory/browse/bundlor.maker/manifests/org/mozilla/rhino/rhino-1.7R4.mf

Neo4J original dependency as a bundle
rrd4j-2.0.7net.echinopsii.3rdparty.org.rrd4j.rrd4j-2.0.7.jar

Newtablink
aliasgo to manifest
urlhttps://stash.echinopsii.net/projects/NECII/repos/osgi.factory/browse/bundlor.maker/manifests/org/rrd4j/rrd4j-2.0.7.mf

Neo4J original dependency as a bundle

 

Once installed into Virgo, the neo4j-community repository looks like this : 

Code Block
title$VIRGO_HOME/repository/neo4j-community
themeRDark
commons-beanutils-1.8.3.jar                        concurrentlinkedhashmap-lru-1.3.1.jar  jetty-webapp-9.0.5.v20130815.jar                                        net.echinopsii.3rdparty.org.rrd4j.rrd4j-2.0.7.jar
commons-collections-3.2.1.jar                      jackson-core-asl-1.9.7.jar             jetty-xml-9.0.5.v20130815.jar                                           org.apache.servicemix.bundles.jline-0.9.94_1.jar
commons-configuration-1.6.jar                      jackson-jaxrs-1.9.7.jar                mimepull-1.6.jar                                                        org.apache.servicemix.bundles.lucene-3.6.2_1.jar
commons-digester-1.8.1.jar                         jackson-mapper-asl-1.9.7.jar           net.echinopsii.3rdparty.logback-access-1.0.7.jar                        org.apache.servicemix.bundles.neo4j.community-2.1.2.jar
commons-jxpath-1.3.jar                             jetty-http-9.0.5.v20130815.jar         net.echinopsii.3rdparty.net.sf.opencsv-2.0.0.jar                        parboiled-core-1.1.6.jar
commons-lang-2.4.jar                               jetty-io-9.0.5.v20130815.jar           net.echinopsii.3rdparty.org.apache.ant-1.8.2.jar                        parboiled-scala_2.10-1.1.6.jar
com.springsource.org.bouncycastle.jce-1.39.0.jar   jetty-security-9.0.5.v20130815.jar     net.echinopsii.3rdparty.org.apache.ant-launcher-1.8.2.jar               scala-library-2.10.4.jar
com.springsource.org.bouncycastle.mail-1.39.0.jar  jetty-server-9.0.5.v20130815.jar       net.echinopsii.3rdparty.org.codehaus.janino.commons-compiler-2.6.1.jar
com.springsource.org.jdom-1.1.0.jar                jetty-servlet-9.0.5.v20130815.jar      net.echinopsii.3rdparty.org.codehaus.janino.janino-2.6.1.jar
com.springsource.org.objectweb.asm-3.1.0.jar       jetty-util-9.0.5.v20130815.jar         net.echinopsii.3rdparty.org.mozilla.rhino-1.7.4.jar

 

 

The Neo4J community super-bundle

We just saw how we can easily transform non OSGI friendly jar into OSGI bundle with Eclipse Virgo Bundlor. But some times this is not enough to make work non-osgi friendly JARs into OSGI environment :

  • because you may have import constraint which becomes spaghetti-like dependency chain which could be horrible to demystify. This is the case of the jersey dependency chain.
  • because of the heavily use of java ServicesLoader feature introduced in Java 6 - 
    Newtablink
    aliaswhich is not really OSGI friendly
    urlhttp://blog.osgi.org/2013/02/javautilserviceloader-in-osgi.html
    . This is the case of the Neo4J libraries.

In such cases the quickest (as you decide to NOT reverse-engineer the dependencies) and safest (as you decide to NOT add any code lines) solution is to create a super-bundle which will include all the problematic JARs and therefore provides a same classpath area for all these dependencies you want to make work together.

To make this super-bundle we use the great work from Apache Servicemix team who deliver a maven engineering tool to generate OSGI bundle from severals dependencies. The Neo4J community super-bundle definition can be found 

Newtablink
aliashere
urlhttps://stash.echinopsii.net/projects/NECII/repos/osgi.factory/browse/maven.packager/neo4j-2.1.2-community/pom.xml
.

The final neo4j.community repository looks like this : 

Code Block
title$VIRGO_HOME/repository/neo4j-community
themeRDark
commons-beanutils-1.8.3.jar                        concurrentlinkedhashmap-lru-1.3.1.jar  jetty-webapp-9.0.5.v20130815.jar                                        net.echinopsii.3rdparty.org.neo4j.community.superbundle-2.1.2.jar
commons-collections-3.2.1.jar                      jackson-core-asl-1.9.7.jar             jetty-xml-9.0.5.v20130815.jar                                           org.apache.servicemix.bundles.jline-0.9.94_1.jar
commons-configuration-1.6.jar                      jackson-jaxrs-1.9.7.jar                jsr311-api-1.1.2.r612.jar                                               org.apache.servicemix.bundles.lucene-3.6.2_1.jar
commons-digester-1.8.1.jar                         jackson-mapper-asl-1.9.7.jar           mimepull-1.6.jar                                                        org.apache.servicemix.bundles.neo4j.community-2.1.2.jar
commons-jxpath-1.3.jar                             jetty-http-9.0.5.v20130815.jar         net.echinopsii.3rdparty.logback-access-1.0.7.jar                        parboiled-core-1.1.6.jar
commons-lang-2.4.jar                               jetty-io-9.0.5.v20130815.jar           net.echinopsii.3rdparty.net.sf.opencsv-2.0.0.jar                        parboiled-scala_2.10-1.1.6.jar
com.springsource.org.bouncycastle.jce-1.39.0.jar   jetty-security-9.0.5.v20130815.jar     net.echinopsii.3rdparty.org.apache.ant-1.8.2.jar                        scala-library-2.10.4.jar
com.springsource.org.bouncycastle.mail-1.39.0.jar  jetty-server-9.0.5.v20130815.jar       net.echinopsii.3rdparty.org.apache.ant-launcher-1.8.2.jar
com.springsource.org.jdom-1.1.0.jar                jetty-servlet-9.0.5.v20130815.jar      net.echinopsii.3rdparty.org.codehaus.janino.commons-compiler-2.6.1.jar
com.springsource.org.objectweb.asm-3.1.0.jar       jetty-util-9.0.5.v20130815.jar         net.echinopsii.3rdparty.org.codehaus.janino.janino-2.6.1.jar

 

Install and start Neo4J super-bundle in Eclipse Virgo Kernel

Once Virgo Kernel is started ($VIRGO_HOME/bin/startup.sh) we can connect on the Kernel Region console through SSH : 

Code Block
themeRDark
#default user/password : admin/springsource
ssh -p 2502 admin@localhost

Then we can start the Neo4J super-bundle like this : 

Code Block
themeRDark
osgi> vsh:install repository:bundle/net.echinopsii.3rdparty.org.neo4j.community.superbundle/2.1.2
[2015-02-23 15:09:49.993] Thread-29                    <DE0000I> Installing bundle 'net.echinopsii.3rdparty.org.neo4j.community.superbundle' version '2.1.2'. 
[2015-02-23 15:09:50.756] Thread-29                    <DE0001I> Installed bundle 'net.echinopsii.3rdparty.org.neo4j.community.superbundle' version '2.1.2'. 
Artifact bundle net.echinopsii.3rdparty.org.neo4j.community.superbundle 2.1.2 installed
 
osgi> vsh:bundle list
...
100   net.echinopsii.3rdparty.org.neo4j.community.superbundle      2.1.2                                        RESOLVED
...
 
osgi> vsh:bundle start 100
[2015-02-23 18:14:31.430] Thread-33                    <DE0004I> Starting bundle 'net.echinopsii.3rdparty.org.neo4j.community.superbundle' version '2.1.2'. 
bundle net.echinopsii.3rdparty.org.neo4j.community.superbundle:2.1.2 started successfully
 
osgi> vsh:bundle list
...
100 S net.echinopsii.3rdparty.org.neo4j.community.superbundle      2.1.2                                          ACTIVE
...
Code Block
titleExamine Neo4J super-bundle
themeRDark
collapsetrue
osgi> vsh:bundle examine 100
Id:              100
Name:            net.echinopsii.3rdparty.org.neo4j.community.superbundle
Version          2.1.2
State:           ACTIVE
Spring Powered:  true
Bundle Location: file:/CC/DEV/ariane.master/ariane.community.environment/Virgo/virgo-kernel-3.6.3.RELEASE/work/deployer/s/global/14/0/net.echinopsii.3rdparty.org.neo4j.community.superbundle-2.1.2.jar/#org.eclipse.virgo.region.user
Imported Packages:
    ch.qos.logback.core.spi [1.0.0, 2.0.0)
        exported by ch.qos.logback.core 1.0.7.v20121108-1250 [4]
    org.apache.lucene.util [0.0.0, oo)
        exported by org.apache.servicemix.bundles.lucene 3.6.2.1 [125]
    org.parboiled.scala.parserunners [1.1.0, 2.0.0)
        exported by org.parboiled.scala 1.1.6 [137]
    javax.ws.rs [1.1.0, 2.0.0)
        exported by org.neo4j.3rdparty.javax.ws.rs.jsr311-api 1.1.2 [135]
    javax.mail.internet [0.0.0, oo)
        exported by javax.mail 1.4.0.v201005080615 [107]
    ch.qos.logback.core [1.0.0, 2.0.0)
        exported by ch.qos.logback.core 1.0.7.v20121108-1250 [4]
    ch.qos.logback.classic.encoder [1.0.0, 2.0.0)
        exported by ch.qos.logback.classic 1.0.7.v20121108-1250 [3]
    org.xml.sax [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    javax.xml.stream [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.parboiled.errors [1.1.0, 2.0.0)
        exported by org.parboiled.core 1.1.6 [136]
    org.apache.lucene.store [0.0.0, oo)
        exported by org.apache.servicemix.bundles.lucene 3.6.2.1 [125]
    jline [0.9.0, 1.0.0)
        exported by org.apache.servicemix.bundles.jline 0.9.94.1 [124]
    javax.lang.model [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.eclipse.jetty.util.thread [9.0.0, 10.0.0)
        exported by org.eclipse.jetty.util 9.0.5.v20130815 [131]
    org.parboiled.common [1.1.0, 2.0.0)
        exported by org.parboiled.core 1.1.6 [136]
    javax.management.openmbean [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    javax.lang.model.util [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    scala.util.matching [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    org.eclipse.jetty.server.handler [9.0.0, 10.0.0)
        exported by org.eclipse.jetty.server 9.0.5.v20130815 [129]
    scala.util.parsing.combinator [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    ch.qos.logback.classic [1.0.0, 2.0.0)
        exported by ch.qos.logback.classic 1.0.7.v20121108-1250 [3]
    javax.crypto [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    javax.servlet.jsp [0.0.0, oo)
        exported by javax.servlet.jsp 2.2.0.v201112011158 [108]
    org.w3c.dom [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    ch.qos.logback.classic.joran [1.0.0, 2.0.0)
        exported by ch.qos.logback.classic 1.0.7.v20121108-1250 [3]
    org.codehaus.jackson.io [1.9.0, 2.0.0)
        exported by jackson-core-asl 1.9.7 [105]
    org.codehaus.janino [0.0.0, oo)
        exported by net.echinopsii.3rdparty.org.codehaus.janino.janino 2.6.1 [114]
    javax.management.remote [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.parboiled.buffers [1.1.0, 2.0.0)
        exported by org.parboiled.core 1.1.6 [136]
    org.bouncycastle.jce [0.0.0, oo)
        exported by com.springsource.org.bouncycastle.jce 1.39.0 [102]
    javax.xml.transform.stream [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.codehaus.jackson [1.9.0, 2.0.0)
        exported by jackson-core-asl 1.9.7 [105]
    org.apache.lucene.search [0.0.0, oo)
        exported by org.apache.servicemix.bundles.lucene 3.6.2.1 [125]
    org.rrd4j.core [0.0.0, oo)
        exported by net.echinopsii.3rdparty.org.rrd4j.rrd4j 2.0.7 [116]
    javax.annotation.processing [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    scala.collection [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    javax.annotation [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.parboiled.matchers [1.1.0, 2.0.0)
        exported by org.parboiled.core 1.1.6 [136]
    org.objectweb.asm [0.0.0, oo)
        exported by com.springsource.org.objectweb.asm 3.1.0 [104]
    javax.imageio.stream [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.bouncycastle.jce.provider [0.0.0, oo)
        exported by com.springsource.org.bouncycastle.jce 1.39.0 [102]
    org.eclipse.jetty.util.resource [9.0.0, 10.0.0)
        exported by org.eclipse.jetty.util 9.0.5.v20130815 [131]
    javax.xml.transform.dom [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    ch.qos.logback.core.joran.spi [1.0.0, 2.0.0)
        exported by ch.qos.logback.core 1.0.7.v20121108-1250 [4]
    ch.qos.logback.classic.pattern [1.0.0, 2.0.0)
        exported by ch.qos.logback.classic 1.0.7.v20121108-1250 [3]
    scala.collection.convert [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    org.eclipse.jetty.webapp [9.0.0, 10.0.0)
        exported by org.eclipse.jetty.webapp 9.0.5.v20130815 [132]
    javax.imageio [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    scala.collection.parallel [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    org.apache.lucene.queryParser [0.0.0, oo)
        exported by org.apache.servicemix.bundles.lucene 3.6.2.1 [125]
    org.apache.tools.ant.types [0.0.0, oo)
        exported by net.echinopsii.3rdparty.org.apache.ant 1.8.2 [111]
    javax.lang.model.element [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.apache.lucene.document [0.0.0, oo)
        exported by org.apache.servicemix.bundles.lucene 3.6.2.1 [125]
    scala.collection.parallel.immutable [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    org.eclipse.jetty.util [9.0.0, 10.0.0)
        exported by org.eclipse.jetty.util 9.0.5.v20130815 [131]
    javax.ws.rs.core [1.1.0, 2.0.0)
        exported by org.neo4j.3rdparty.javax.ws.rs.jsr311-api 1.1.2 [135]
    org.eclipse.jetty.io [9.0.0, 10.0.0)
        exported by org.eclipse.jetty.io 9.0.5.v20130815 [127]
    org.rrd4j [0.0.0, oo)
        exported by net.echinopsii.3rdparty.org.rrd4j.rrd4j 2.0.7 [116]
    org.eclipse.jetty.http [9.0.0, 10.0.0)
        exported by org.eclipse.jetty.http 9.0.5.v20130815 [126]
    scala.collection.parallel.mutable [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    org.slf4j [1.6.0, 2.0.0)
        exported by org.slf4j.api 1.7.2.v20121108-1250 [56]
    javax.servlet.annotation [2.6.0, 3.0.0)
        exported by javax.servlet 3.0.0.v201112011016 [10]
    org.bouncycastle.asn1.x509 [0.0.0, oo)
        exported by com.springsource.org.bouncycastle.jce 1.39.0 [102]
    org.eclipse.jetty.server.session [9.0.0, 10.0.0)
        exported by org.eclipse.jetty.server 9.0.5.v20130815 [129]
    com.googlecode.concurrentlinkedhashmap [1.3.0, 2.0.0)
        exported by com.googlecode.concurrentlinkedhashmap.lru 1.3.1 [101]
    javax.mail.util [0.0.0, oo)
        exported by javax.mail 1.4.0.v201005080615 [107]
    org.eclipse.jetty.util.component [9.0.0, 10.0.0)
        exported by org.eclipse.jetty.util 9.0.5.v20130815 [131]
    javax.management [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.jvnet.mimepull [1.6.0, 2.0.0)
        exported by org.jvnet.mimepull 1.6.0 [134]
    javax.xml.namespace [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.apache.lucene.index [0.0.0, oo)
        exported by org.apache.servicemix.bundles.lucene 3.6.2.1 [125]
    javax.servlet [2.6.0, 3.0.0)
        exported by javax.servlet 3.0.0.v201112011016 [10]
    au.com.bytecode.opencsv [0.0.0, oo)
        exported by net.echinopsii.3rdparty.net.sf.opencsv 2.0.0 [110]
    scala.reflect [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    javax.transaction.xa [1.1.0, 2.0.0)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    javax.servlet.jsp.tagext [0.0.0, oo)
        exported by javax.servlet.jsp 2.2.0.v201112011158 [108]
    javax.net.ssl [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    javax.xml.transform.sax [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.eclipse.jetty.server [9.0.0, 10.0.0)
        exported by org.eclipse.jetty.server 9.0.5.v20130815 [129]
    org.eclipse.jetty.servlet [9.0.0, 10.0.0)
        exported by org.eclipse.jetty.servlet 9.0.5.v20130815 [130]
    javax.naming [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.codehaus.jackson.impl [1.9.0, 2.0.0)
        exported by jackson-core-asl 1.9.7 [105]
    javax.xml.parsers [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.parboiled [1.1.0, 2.0.0)
        exported by org.parboiled.core 1.1.6 [136]
    scala.runtime [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    javax.ws.rs.ext [1.1.0, 2.0.0)
        exported by org.neo4j.3rdparty.javax.ws.rs.jsr311-api 1.1.2 [135]
    org.ietf.jgss [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.parboiled.scala [1.1.0, 2.0.0)
        exported by org.parboiled.scala 1.1.6 [137]
    ch.qos.logback.core.filter [1.0.0, 2.0.0)
        exported by ch.qos.logback.core 1.0.7.v20121108-1250 [4]
    javax.xml.bind.annotation [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.osgi.framework [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    javax.mail [0.0.0, oo)
        exported by javax.mail 1.4.0.v201005080615 [107]
    scala.util.parsing.input [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    org.apache.commons.configuration [1.6.0, 2.0.0)
        exported by org.apache.commons.configuration 1.6.0 [120]
    scala.collection.immutable [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    javax.lang.model.type [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.mozilla.javascript [0.0.0, oo)
        exported by net.echinopsii.3rdparty.org.mozilla.rhino 1.7.4 [115]
    javax.imageio.spi [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    scala [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    org.parboiled.scala.rules [1.1.0, 2.0.0)
        exported by org.parboiled.scala 1.1.6 [137]
    org.codehaus.jackson.map [1.9.0, 2.0.0)
        exported by jackson-mapper-asl 1.9.7 [106]
    scala.math [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    scala.util [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    org.apache.commons.io [1.4.0, 2.0.0)
        exported by com.springsource.org.apache.commons.io 1.4.0 [98]
    org.eclipse.jetty.util.ssl [9.0.0, 10.0.0)
        exported by org.eclipse.jetty.util 9.0.5.v20130815 [131]
    javax.tools [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    scala.collection.mutable [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    javax.xml.bind.annotation.adapters [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.apache.tools.ant [0.0.0, oo)
        exported by net.echinopsii.3rdparty.org.apache.ant 1.8.2 [111]
    javax.activation [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.parboiled.support [1.1.0, 2.0.0)
        exported by org.parboiled.core 1.1.6 [136]
    org.bouncycastle.x509 [0.0.0, oo)
        exported by com.springsource.org.bouncycastle.jce 1.39.0 [102]
    javax.sql [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    javax.xml.transform [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    javax.transaction [1.1.0, 2.0.0)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    ch.qos.logback.access.jetty [1.0.0, 2.0.0)
        exported by net.echinopsii.3rdparty.logback-access 1.0.7 [109]
    javax.xml.bind [0.0.0, oo)
        exported by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    org.eclipse.jetty.util.log [9.0.0, 10.0.0)
        exported by org.eclipse.jetty.util 9.0.5.v20130815 [131]
    ch.qos.logback.classic.spi [1.0.0, 2.0.0)
        exported by ch.qos.logback.classic 1.0.7.v20121108-1250 [3]
    scala.collection.generic [2.10.0, 3.0.0)
        exported by org.scala-lang.scala-library 2.10.4.v20140209-180020-VFINAL-b66a39653b [138]
    org.apache.lucene.analysis [0.0.0, oo)
        exported by org.apache.servicemix.bundles.lucene 3.6.2.1 [125]
    javax.servlet.http [2.6.0, 3.0.0)
        exported by javax.servlet 3.0.0.v201112011016 [10]
Exported Packages:
    org.neo4j.server.webadmin.rest.representations 2.1.2
    org.neo4j.graphdb.traversal 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.parser.matchers 2.1.2
    org.neo4j.kernel.api.exceptions.index 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.perty.docbuilders 2.1.2
    org.neo4j.server.webadmin.rest 2.1.2
    org.neo4j.server.rest.repr.formats 2.1.2
    org.neo4j.shell 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.planner.logical.steps 2.1.2
    org.neo4j.kernel.impl.transaction 2.1.2
    org.neo4j.ext.udc 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.ast 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.executionplan.builders.prepare 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9.pipes.matching 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.planner.logical.plans 2.1.2
    org.neo4j.kernel.lifecycle 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.pipes.matching 2.1.2
    org.neo4j.kernel.api.heuristics 2.1.2
    org.neo4j.graphmatching.filter 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.perty.impl 2.1.2
    org.neo4j.server.rest.transactional 2.1.2
    org.neo4j.unsafe.impl.batchimport.cache 2.1.2
    org.neo4j.server.configuration 2.1.2
    org.neo4j.kernel.impl.util.function 2.1.2
    org.neo4j.server.impl.api 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.pipes 2.1.2
    org.neo4j.kernel.impl.nioneo.xa.command 2.1.2
    org.neo4j.server.rest.repr 2.1.2
    org.neo4j.graphalgo.impl.path 2.1.2
    org.neo4j.tooling 2.1.2
    org.neo4j.kernel.impl.nioneo.xa 2.1.2
    org.neo4j.graphdb 2.1.2
    org.neo4j.ext.udc.impl.osgi 2.1.2
    org.neo4j.kernel.impl.nioneo.store.labels 2.1.2
    org.neo4j.kernel.impl.api.statistics 2.1.2
    org.neo4j.kernel.monitoring 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.symbols 2.1.2
    org.neo4j.kernel.impl 2.1.2
    org.neo4j.kernel.impl.util.collection 2.1.2
    org.neo4j.kernel.api.direct 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.pipes.aggregation 2.1.2
    org.neo4j.kernel.impl.api.index 2.1.2
    org.neo4j.kernel.impl.api 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.helpers 2.1.2
    org.neo4j.server.configuration.validation 2.1.2
    org.neo4j.server.rrd 2.1.2
    org.neo4j.cypher.internal 2.1.2
    org.neo4j.server.webadmin.rest.console 2.1.2
    org.neo4j.shell.kernel 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.symbols 2.1.2
    org.neo4j.server.statistic 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.commands.values 2.1.2
    org.neo4j.server.preflight 2.1.2
    org.neo4j.cypher.export 2.1.2
    org.neo4j.server 2.1.2
    org.neo4j.kernel 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.executionplan 2.1.2
    org.neo4j.server.rest.paging 2.1.2
    org.neo4j.helpers.progress 2.1.2
    org.neo4j.index.lucene 2.1.2
    org.neo4j.server.rest.batch 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.perty 2.1.2
    org.neo4j.cypher.javacompat.internal 2.1.2
    org.neo4j.collection.primitive.hopscotch 2.1.2
    org.neo4j.kernel.api.impl.index.bitmaps 2.1.2
    org.neo4j.unsafe.impl.batchimport 2.1.2
    org.neo4j.kernel.api.impl.index 2.1.2
    org.neo4j.server.rest.discovery 2.1.2
    org.neo4j.kernel.api.labelscan 2.1.2
    org.neo4j.kernel.api.index.util 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.prettifier 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.planner.execution 2.1.2
    org.neo4j.kernel.api.properties 2.1.2
    org.neo4j.collection.primitive.base 2.1.2
    org.neo4j.helpers 2.1.2
    org.neo4j.server.extension.auth 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9.executionplan 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.profiler 2.1.2
    org.neo4j.graphalgo.impl 2.1.2
    org.neo4j.server.web 2.1.2
    org.neo4j.shell.impl 2.1.2
    org.neo4j.kernel.impl.api.state 2.1.2
    org.neo4j.kernel.api.exceptions 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.commands.expressions 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.executionplan.verifiers 2.1.2
    org.neo4j.kernel.impl.coreapi.schema 2.1.2
    org.neo4j.server.guard 2.1.2
    org.neo4j.graphdb.config 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.functions 2.1.2
    org.neo4j.kernel.info 2.1.2
    org.neo4j.jmx 2.1.2
    org.neo4j.function.primitive 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.prettifier 2.1.2
    org.neo4j.unsafe.impl.batchimport.store 2.1.2
    org.neo4j.unsafe.impl.batchimport.staging 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.pipes.aggregation 2.1.2
    org.neo4j.helpers.collection 2.1.2
    org.neo4j.graphalgo.impl.shortestpath 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.profiler 2.1.2
    org.neo4j.graphdb.schema 2.1.2
    org.neo4j.kernel.impl.api.operations 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9.parser 2.1.2
    org.neo4j.server.rest.repr.util 2.1.2
    org.neo4j.shell.util.json 2.1.2
    org.neo4j.udc.impl 2.1.2
    org.neo4j.kernel.impl.index 2.1.2
    org.neo4j.kernel.impl.core 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.ast.convert 2.1.2
    org.neo4j.cypher.javacompat 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9.mutation 2.1.2
    org.neo4j.kernel.impl.persistence 2.1.2
    org.neo4j.index.impl.lucene 2.1.2
    org.neo4j.graphdb.index 2.1.2
    org.neo4j.kernel.api.index 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9.pipes.aggregation 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.ast.rewriters 2.1.2
    org.neo4j.kernel.impl.annotations 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.planner.logical 2.1.2
    org.neo4j.kernel.impl.nioneo.store 2.1.2
    org.neo4j.graphalgo.impl.util 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.docbuilders 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9.spi 2.1.2
    org.neo4j.server.database 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.executionplan.verifiers 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.ast.convert 2.1.2
    org.neo4j.jmx.impl 2.1.2
    org.neo4j.kernel.impl.locking 2.1.2
    org.neo4j.server.security 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.executionplan 2.1.2
    org.neo4j.server.webadmin.console 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.commands 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.commands 2.1.2
    org.neo4j.graphdb.factory 2.1.2
    org.neo4j.cypher.internal.spi.v1_9 2.1.2
    org.neo4j.server.helpers 2.1.2
    org.neo4j.server.rest.security 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.parser 2.1.2
    org.neo4j.kernel.configuration 2.1.2
    org.neo4j.graphmatching.impl 2.1.2
    org.neo4j.kernel.impl.util 2.1.2
    org.neo4j.cypher.internal.spi.v2_1 2.1.2
    org.neo4j.unsafe.impl.batchimport.input 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.data 2.1.2
    org.neo4j.kernel.impl.traversal 2.1.2
    org.neo4j.cypher.internal.helpers.Converge 2.1.2
    org.neo4j.unsafe.batchinsert 2.1.2
    org.neo4j.cypher.internal.spi.v2_0 2.1.2
    org.neo4j.kernel.impl.util.concurrent 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.commands.values 2.1.2
    org.neo4j.kernel.impl.storemigration.monitoring 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9.data 2.1.2
    org.neo4j.shell.kernel.apps 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9.commands 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.helpers 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.commands.expressions 2.1.2
    org.neo4j.server.rest.web 2.1.2
    org.neo4j.server.plugins 2.1.2
    org.neo4j.shell.apps.extra 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9.executionplan.builders 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.spi 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.parser 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.functions 2.1.2
    org.neo4j.server.rrd.sampler 2.1.2
    org.neo4j.kernel.api.exceptions.schema 2.1.2
    org.neo4j.shell.kernel.apps.cypher 2.1.2
    org.neo4j.kernel.guard 2.1.2
    org.neo4j.kernel.logging 2.1.2
    org.neo4j.unsafe.impl.batchimport.stats 2.1.2
    org.neo4j.server.rest.domain 2.1.2
    org.neo4j.kernel.api.constraints 2.1.2
    org.neo4j.kernel.impl.coreapi 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.executionplan.builders.prepare 2.1.2
    org.neo4j.index.lucene.unsafe.batchinsert 2.1.2
    org.neo4j.kernel.impl.storemigration 2.1.2
    org.neo4j.kernel.impl.locking.community 2.1.2
    org.neo4j.graphdb.event 2.1.2
    org.neo4j.kernel.impl.storemigration.legacystore 2.1.2
    org.neo4j.server.logging 2.1.2
    org.neo4j.server.scripting.javascript 2.1.2
    org.neo4j.graphalgo.impl.ancestor 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9.helpers 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.pipes.matching 2.1.2
    org.neo4j.kernel.extension 2.1.2
    org.neo4j.kernel.impl.util.statistics 2.1.2
    org.neo4j.kernel.impl.transaction.xaframework 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.ast 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.executionplan.builders 2.1.2
    org.neo4j.server.rest.transactional.error 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.parser.matchers 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.spi 2.1.2
    org.neo4j.kernel.impl.api.scan 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9.commands.expressions 2.1.2
    org.neo4j.graphalgo.impl.centrality 2.1.2
    org.neo4j.kernel.impl.nioneo.store.windowpool 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.mutation 2.1.2
    org.neo4j.kernel.impl.cache 2.1.2
    org.neo4j.graphmatching 2.1.2
    org.neo4j.ext.udc.impl 2.1.2
    org.neo4j.shell.apps 2.1.2
    org.neo4j.server.impl 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9.profiler 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9.pipes 2.1.2
    org.neo4j.kernel.impl.recovery 2.1.2
    org.neo4j.graphalgo 2.1.2
    org.neo4j.collection.primitive 2.1.2
    org.neo4j.kernel.api 2.1.2
    org.neo4j.kernel.impl.api.store 2.1.2
    org.neo4j.cypher.internal.compiler.v1_9.symbols 2.1.2
    org.neo4j.cypher.internal.helpers 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.planner 2.1.2
    org.neo4j.cypher 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.executionplan.builders 2.1.2
    org.neo4j.server.modules 2.1.2
    org.neo4j.server.scripting 2.1.2
    org.neo4j.cypher.internal.compiler.v2_1.mutation 2.1.2
    org.neo4j.cypher.internal.compiler.v2_0.pipes 2.1.2
Published services:
    240 org.neo4j.kernel.extension.KernelExtensionFactory
        consumed by org.eclipse.virgo.shell.command 3.6.3.RELEASE [68]
    241 org.neo4j.graphdb.factory.GraphDatabaseFactory
        consumed by org.eclipse.virgo.shell.command 3.6.3.RELEASE [68]
    242 org.osgi.service.blueprint.container.BlueprintContainer
        consumed by org.eclipse.virgo.shell.command 3.6.3.RELEASE [68]
    243 org.eclipse.gemini.blueprint.context.DelegatedExecutionOsgiBundleApplicationContext
        consumed by org.eclipse.virgo.shell.command 3.6.3.RELEASE [68]
Consumed services:
      2 org.osgi.service.packageadmin.PackageAdmin
        published by org.eclipse.osgi 3.8.2.v20130124-134944 [0]
    198 org.springframework.beans.factory.xml.NamespaceHandlerResolver
        published by org.eclipse.gemini.blueprint.extender 1.0.2.RELEASE [78]
    199 org.xml.sax.EntityResolver
        published by org.eclipse.gemini.blueprint.extender 1.0.2.RELEASE [78]
Fragments:
    None

 

 


Start the Neo4J server in Eclipse Virgo Kernel

Neo4J and Jetty integration into Virgo Kernel environment

To add the Jetty configuration into Virgo Kernel environment, create the $VIRGO_HOME/org/eclipse/jetty/webapp directory. Then copy the Jetty 

Newtablink
aliaswebdefault.xml
urlhttps://stash.echinopsii.net/projects/ARIANE/repos/ariane.community.environment/browse/Virgo/virgo-kernel-3.6.3.RELEASE/org/eclipse/jetty/webapp/webdefault.xml
 in it.

To add the neo4j configuration into Virgo Kernel environment, create the following directories :

  • $VIRGO_HOME/neo4j/conf
  • $VIRGO_HOME/neo4j/data
  • $VIRGO_HOME/neo4j/graph

Then copy the neo4j configuration files into $VIRGO_HOME/neo4j/conf : 

  • $VIRGO_HOME/neo4j/conf/
    Newtablink
    aliasneo4j-http-logging.xml
    urlhttps://stash.echinopsii.net/projects/ARIANE/repos/ariane.community.environment/browse/Virgo/virgo-kernel-3.6.3.RELEASE/neo4j/conf/neo4j-http-logging.xml
  • $VIRGO_HOME/neo4j/conf/
    Newtablink
    aliasneo4j.properties
    urlhttps://stash.echinopsii.net/projects/ARIANE/repos/ariane.community.environment/browse/Virgo/virgo-kernel-3.6.3.RELEASE/neo4j/conf/neo4j.properties
  • $VIRGO_HOME/neo4j/conf/
    Newtablink
    aliasneo4j-server.properties
    urlhttps://stash.echinopsii.net/projects/ARIANE/repos/ariane.community.environment/browse/Virgo/virgo-kernel-3.6.3.RELEASE/neo4j/conf/neo4j-server.properties

You need to adapt these files to fit your environment path.

Enable Neo4J RMI in Virgo Kernel environment

Neo4J use RMI and so we need to enable it in Virgo Kernel environment. 
Edit the $VIRGO_HOME/bin/dmk.sh and add the following lines : 

Code Block
titleAdd RMI to Virgo Kernel
themeRDark
@@ -206,15 +207,19 @@ then
                        -Dorg.eclipse.virgo.kernel.config=$CONFIG_DIR \
                        -Dosgi.sharedConfiguration.area=$CONFIG_DIR \
                        -Dosgi.java.profile="file:$JAVA_PROFILE" \
                        -Declipse.ignoreApp=true \
                        -Dosgi.install.area=$KERNEL_HOME \
                        -Dosgi.configuration.area=$CONFIG_AREA \
                        -Dssh.server.keystore="$CONFIG_DIR/hostkey.ser" \
                        -Dosgi.frameworkClassPath=$FWCLASSPATH \
+                       -Declipse.security=osgi \
+                       -Djava.security.policy=$CONFIG_DIR/virgo.policy \
+                       -Declipse.enableStateSaver=true \
+                       -Djava.rmi.server.codebase="file://$KERNEL_HOME/repository/neo4j-community/net.echinopsii.3rdparty.org.neo4j.community.superbundle-2.1.2.jar"\
                        -Djava.endorsed.dirs="$KERNEL_HOME/lib/endorsed" \
                        -classpath $CLASSPATH \
                                org.eclipse.equinox.launcher.Main \
                        -noExit \
                        $LAUNCH_OPTS \
                        $ADDITIONAL_ARGS

 

Then add and edit $VIRGO_HOME/configuration/virgo.policy :

Code Block
titleVirgo security policy
themeRDark
grant { permission java.security.AllPermission; };
Note
titleOSGI security

OSGI provides security features extending the Java ones. To know more loot at this

Newtablink
aliasdoc
urlhttp://www.moi.vonos.net/java/osgi-security/
and this
Newtablink
aliaspresentation
urlhttps://felix.apache.org/site/presentations.data/Building%20Secure%20OSGi%20Applications%20Workshop.pdf
.
The above security policy is totally unsecure but very  convenient. Feel free to adapt this policy to your paranoïa...

 

Get and install the neo4j-osgi demonstration application

To start the Neo4J server in Virgo, we will use a dedicated application which bootstrap Neo4J following OSGI way. You can get this application 

Newtablink
aliashere
urlhttps://stash.echinopsii.net/users/mffrench/repos/neo4j-osgi/browse
.

Neo4JActivator

This little class is the OSGI bootstrapping handler. When starting/stopping the bundle the start/stop method of this class are called.
At startup the only thing done is the Neo4JManagedService registration into the service registry with the pid "net.echinopsii.demo.Neo4JManagedService".

Code Block
titleNeo4JActivator.java
themeRDark
languagejava
package net.echinopsii.demo;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.cm.ManagedService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Dictionary;
import java.util.Hashtable;

public class Neo4JActivator implements BundleActivator {

    private final static Logger log = LoggerFactory.getLogger(Neo4JManagedService.class);
    private ServiceRegistration neo4jServiceRegistration;
    private Neo4JManagedService neo4jManagedService = new Neo4JManagedService();

    @Override
    public void start(BundleContext bundleContext) throws Exception {
        Dictionary props = new Hashtable();
        log.debug("Starting net.echinopsii.demo.Neo4JManagedService");
        props.put("service.pid", "net.echinopsii.demo.Neo4JManagedService");
        neo4jServiceRegistration = bundleContext.registerService(ManagedService.class.getName(), neo4jManagedService, props);
    }

    @Override
    public void stop(BundleContext bundleContext) throws Exception {
        if (neo4jServiceRegistration !=null) {
            neo4jManagedService.stop();
            neo4jManagedService=null;
            neo4jServiceRegistration.unregister();
            neo4jServiceRegistration=null;
        }
    }
}

Neo4JManagedService

The Neo4JManagedService handle the configuration and start the Neo4J server according to the neo4j configuration path.

Code Block
titleNeo4JManagedService.java
themeRDark
languagejava
package net.echinopsii.demo;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.cm.ManagedService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Dictionary;
import java.util.Hashtable;
public class Neo4JActivator implements BundleActivator {

    private final static Logger log = LoggerFactory.getLogger(Neo4JManagedService.class);
    private ServiceRegistration neo4jServiceRegistration;
    private Neo4JManagedService neo4jManagedService = new Neo4JManagedService();

    @Override
    public void start(BundleContext bundleContext) throws Exception {
        Dictionary props = new Hashtable();
        log.debug("Starting net.echinopsii.demo.Neo4JManagedService");
        props.put("service.pid", "net.echinopsii.demo.Neo4JManagedService");
        neo4jServiceRegistration = bundleContext.registerService(ManagedService.class.getName(), neo4jManagedService, props);
    }

    @Override
    public void stop(BundleContext bundleContext) throws Exception {
        if (neo4jServiceRegistration !=null) {
            neo4jManagedService.stop();
            neo4jManagedService=null;
            neo4jServiceRegistration.unregister();
            neo4jServiceRegistration=null;
        }
    }
}

 

pom.xml

When building the project, maven will setup the OSGI manifest of the bundle according to this pom. Look at the necessary import to make work the Neo4J bootstrap.

Code Block
titlepom.xml
themeRDark
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">


    <modelVersion>4.0.0</modelVersion>


    <groupId>net.echinopsii.demo</groupId>
    <artifactId>neo4j-osgi</artifactId>
    <version>1.0.0</version>
    <packaging>bundle</packaging>


    <properties>
        <version.osgi.org.neo4j>2.1.2</version.osgi.org.neo4j>
    </properties>


    <dependencies>
        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.core</artifactId>
            <version>4.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.compendium</artifactId>
            <version>4.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.6</version>
        </dependency>
        <dependency>
            <groupId>org.neo4j</groupId>
            <artifactId>neo4j-kernel</artifactId>
            <version>2.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.neo4j.app</groupId>
            <artifactId>neo4j-server</artifactId>
            <version>2.1.2</version>
        </dependency>
    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
                <version>2.4.0</version>
                <configuration>
                    <instructions>
                        <Bundle-SymbolicName>net.echinopsii.demo.neo4j-osgi</Bundle-SymbolicName>
                        <Bundle-Version>1.0.0</Bundle-Version>
                        <Bundle-Activator>net.echinopsii.demo.Neo4JActivator</Bundle-Activator>
                        <Import-Package>
                            org.neo4j.graphdb;version="${version.osgi.org.neo4j}",
                            org.neo4j.graphdb.factory;version="${version.osgi.org.neo4j}",
                            org.neo4j.kernel;version="${version.osgi.org.neo4j}",
                            org.neo4j.kernel.logging;version="${version.osgi.org.neo4j}",
                            org.neo4j.server;version="${version.osgi.org.neo4j}",
                            org.neo4j.server.configuration;version="${version.osgi.org.neo4j}",
                            org.neo4j.server.configuration.validation;version="${version.osgi.org.neo4j}",
                            org.neo4j.server.database;version="${version.osgi.org.neo4j}",
                            org.neo4j.server.webadmin.rest;version="${version.osgi.org.neo4j}",
                            org.neo4j.server.rest.web;version="${version.osgi.org.neo4j}",
                            org.neo4j.server.rest.discovery;version="${version.osgi.org.neo4j}",
                            org.neo4j.server.webadmin.rest.console;version="${version.osgi.org.neo4j}",
                            org.eclipse.jetty.servlet.listener,
                            *
                        </Import-Package>
                    </instructions>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

 

install the demo app

Once builded you can install the neo4j-osgi-1.0.0.jar in the $VIRGO_HOME/repository/usr. 
You also need to define the Neo4JManagedService configuration by adding and editing $VIRGO_HOME/repository/usr/net.echinopsii.demo.Neo4JManagedService.properties file : 

Code Block
titleNeo4JManagedService configuration
themeRDark
neo4j.configfile = <PATH TO neo4j-server.properties file>

Finally you can configure the log level of this little app in $VIRGO_HOME/configuration/serviceability.xml

Code Block
titleSet up log level
themeRDark
@@ -73,6 +73,11 @@
                <appender-ref ref="LOG_FILE" />
        </logger>
 
+        <logger level="DEBUG" additivity="false" name="net.echinopsii.demo">
+                <appender-ref ref="SIFTED_LOG_FILE" />
+                <appender-ref ref="LOG_FILE" />
+        </logger>
+
        <root level="INFO">
                <appender-ref ref="SIFTED_LOG_FILE" />
                <appender-ref ref="LOG_FILE" />

 

Run neo4j-osgi demonstration application and test the OSGI embedded Neo4J server

Execute the following commands to make run the OSGI embedded Neo4J server.

Code Block
titleStarting Neo4J server
themeRDark
osgi> vsh:install repository:configuration/net.echinopsii.demo.Neo4JManagedService
[2015-02-23 19:03:06.250] Thread-29                    <DE0000I> Installing configuration 'net.echinopsii.demo.Neo4JManagedService' version '0.0.0'. 
[2015-02-23 19:03:06.279] Thread-29                    <DE0001I> Installed configuration 'net.echinopsii.demo.Neo4JManagedService' version '0.0.0'. 

osgi> vsh:config list
Name                                      Version                          State
net.echinopsii.demo.Neo4JManagedService   0.0.0                         RESOLVED
org.eclipse.virgo.kernel                  0.0.0                           ACTIVE
org.eclipse.virgo.kernel.jmxremote.access 0.0.0                           ACTIVE
org.eclipse.virgo.kernel.userregion       0.0.0                           ACTIVE
org.eclipse.virgo.kernel.users            0.0.0                           ACTIVE
org.eclipse.virgo.medic                   0.0.0                           ACTIVE
org.eclipse.virgo.repository              0.0.0                           ACTIVE
osgi.console                              0.0.0                           ACTIVE
osgi.console.ssh                          0.0.0                           ACTIVE
osgi.console.telnet                       0.0.0                           ACTIVE


osgi> vsh:config start net.echinopsii.demo.Neo4JManagedService       
[2015-02-23 19:04:11.326] Thread-29                    <DE0004I> Starting configuration 'net.echinopsii.demo.Neo4JManagedService' version '0.0.0'. 
[2015-02-23 19:04:11.333] Thread-29                    <DE0005I> Started configuration 'net.echinopsii.demo.Neo4JManagedService' version '0.0.0'. 


osgi> vsh:config list                                                
Name                                      Version                          State
net.echinopsii.demo.Neo4JManagedService   0.0.0                           ACTIVE
org.eclipse.virgo.kernel                  0.0.0                           ACTIVE
org.eclipse.virgo.kernel.jmxremote.access 0.0.0                           ACTIVE
org.eclipse.virgo.kernel.userregion       0.0.0                           ACTIVE
org.eclipse.virgo.kernel.users            0.0.0                           ACTIVE
org.eclipse.virgo.medic                   0.0.0                           ACTIVE
org.eclipse.virgo.repository              0.0.0                           ACTIVE
osgi.console                              0.0.0                           ACTIVE
osgi.console.ssh                          0.0.0                           ACTIVE
osgi.console.telnet                       0.0.0                           ACTIVE


osgi> vsh:config examine net.echinopsii.demo.Neo4JManagedService                  
Factory pid:     
Bundle Location: file:/CC/DEV/ariane.master/ariane.community.environment/Virgo/virgo-kernel-3.6.3.RELEASE/work/deployer/s/global/16/0/neo4j-osgi-1.0.0.jar/#org.eclipse.virgo.region.user
Properties:
    neo4j.configfile:
        /CC/DEV/ariane.master/ariane.community.environment/Virgo/virgo-kernel-3.6.3.RELEASE/neo4j/conf/neo4j-server.properties
    service.pid:
        net.echinopsii.demo.Neo4JManagedService
osgi> vsh:install repository:bundle/net.echinopsii.demo.neo4j-osgi/1.0.0
[2015-02-23 19:04:23.917] Thread-29                    <DE0000I> Installing bundle 'net.echinopsii.demo.neo4j-osgi' version '1.0.0'. 
[2015-02-23 19:04:23.934] Thread-29                    <DE0001I> Installed bundle 'net.echinopsii.demo.neo4j-osgi' version '1.0.0'. 

osgi> vsh:bundle list
...
138   net.echinopsii.demo.neo4j-osgi                               1.0.0                                        RESOLVED
 
osgi> vsh:bundle start 138
[2015-02-23 19:04:41.335] Thread-29                    <DE0004I> Starting bundle 'net.echinopsii.demo.neo4j-osgi' version '1.0.0'. 
bundle net.echinopsii.demo.neo4j-osgi:1.0.0 started successfully

osgi> vsh:bundle list
...
138   net.echinopsii.demo.neo4j-osgi                               1.0.0                                        ACTIVE

Once these commands are executed you can see the following lines into the Virgo logs ($VIRGO_HOME/serviceability/logs/log.log)

Code Block
themeRDark
[2015-02-23 23:02:13.722] DEBUG ManagedService Update Queue  net.echinopsii.demo.Neo4JManagedService                           Create neo4j server 
[2015-02-23 23:02:13.759] DEBUG ManagedService Update Queue  net.echinopsii.demo.Neo4JManagedService                           Start neo4j server 
[2015-02-23 23:02:15.321] WARN  ManagedService Update Queue  org.eclipse.jetty.server.handler.ContextHandler                   o.e.j.s.ServletContextHandler@20d2bf07{/,null,null} contextPath ends with / 
[2015-02-23 23:02:15.322] WARN  ManagedService Update Queue  org.eclipse.jetty.server.handler.ContextHandler                   Empty contextPath 
[2015-02-23 23:02:15.323] INFO  ManagedService Update Queue  org.eclipse.jetty.server.Server                                   jetty-9.0.5.v20130815 
[2015-02-23 23:02:15.352] INFO  ManagedService Update Queue  org.eclipse.jetty.server.handler.ContextHandler                   Started o.e.j.s.h.MovedContextHandler@684d34eb{/,null,AVAILABLE} 
[2015-02-23 23:02:15.422] INFO  ManagedService Update Queue  com.sun.jersey.server.impl.application.WebApplicationImpl         Initiating Jersey application, version 'Jersey: 1.9 09/02/2011 11:17 AM' 
[2015-02-23 23:02:15.856] INFO  ManagedService Update Queue  org.eclipse.jetty.server.handler.ContextHandler                   Started o.e.j.s.ServletContextHandler@56ef55d3{/db/manage,null,AVAILABLE} 
[2015-02-23 23:02:15.861] INFO  ManagedService Update Queue  com.sun.jersey.server.impl.application.WebApplicationImpl         Initiating Jersey application, version 'Jersey: 1.9 09/02/2011 11:17 AM' 
[2015-02-23 23:02:16.181] INFO  ManagedService Update Queue  org.eclipse.jetty.server.handler.ContextHandler                   Started o.e.j.s.ServletContextHandler@4fa0f24f{/db/data,null,AVAILABLE} 
[2015-02-23 23:02:16.226] INFO  ManagedService Update Queue  org.eclipse.jetty.webapp.StandardDescriptorProcessor              NO JSP Support for /browser, did not find org.apache.jasper.servlet.JspServlet 
[2015-02-23 23:02:16.235] INFO  ManagedService Update Queue  org.eclipse.jetty.server.handler.ContextHandler                   Started o.e.j.w.WebAppContext@44a79fe6{/browser,file:/CC/DEV/ariane.master/ariane.community.environment/Virgo/virgo-kernel-3.6.3.RELEASE/work/deployer/s/global/14/0/net.echinopsii.3rdparty.org.neo4j.community.superbundle-2.1.2.jar/browser/,AVAILABLE} 
[2015-02-23 23:02:16.238] INFO  ManagedService Update Queue  com.sun.jersey.server.impl.application.WebApplicationImpl         Initiating Jersey application, version 'Jersey: 1.9 09/02/2011 11:17 AM' 
[2015-02-23 23:02:16.379] INFO  ManagedService Update Queue  org.eclipse.jetty.server.handler.ContextHandler                   Started o.e.j.s.ServletContextHandler@20d2bf07{/,null,AVAILABLE} 
[2015-02-23 23:02:16.385] INFO  ManagedService Update Queue  org.eclipse.jetty.server.ServerConnector                          Started ServerConnector@6b53108d{HTTP/1.1}{0.0.0.0:7474} 

And consequently you can have a look to the Neo4J webapplication (http://your-server-fqdn:7474) and begin to play with the Neo4J Movie Graph tutorial (smile)

 

 

 


Annex : Neo4J classpath bundleisation strategy

Section
Column
JARs in $NEO4J_HOME/system/libOSGI bundle ?Bundleisation methodology
asm-3.1.jarnouse already asm bundle by springsource
to be installed in Virgo 
bcprov-jdk16-140.jarnouse already bouncycastle bundle by springsource
to be installed in Virgo 
commons-beanutils-1.8.0.jaryesto be installed in Virgo
commons-beanutils-core-1.8.0.jarnosame as commons beanutils
commons-collections-3.2.1.jaryesto be installed in Virgo
commons-compiler-2.6.1.jarnobundleisation through bundlor
to be installed in Virgo 
commons-configuration-1.6.jaryesto be installed in Virgo
commons-digester-1.8.1.jaryesto be installed in Virgo
commons-io-1.4.jaryesprovided by Virgo :
com.springsource.org.apache.commons.io_1.4.0.jar
commons-lang-2.4.jaryesto be installed in Virgo
commons-logging-1.1.1.jarnoprovided by Virgo :
org.slf4j.jcl_1.7.2.v20121108-1250.jar
jackson-core-asl-1.9.7.jaryesto be installed in Virgo
jackson-jaxrs-1.9.7.jaryesto be installed in Virgo
jackson-mapper-asl-1.9.7.jaryesto be installed in Virgo
janino-2.6.1.jarnobundleisation through bundlor
to be installed in Virgo 
javax.servlet-3.0.0.v201112011016.jaryesprovided by Virgo:
javax.servlet_3.0.0.v201112011016.jar
jcl-over-slf4j-1.6.1.jaryesprovided by Virgo :
org.slf4j.jcl_1.7.2.v20121108-1250.jar
jersey-core-1.9.jaryesNeo4j super bundle
jersey-multipart-1.9.jaryesNeo4j super bundle
jersey-server-1.9.jaryesNeo4j super bundle
jetty-http-9.0.5.v20130815.jaryesto be installed in Virgo
jetty-io-9.0.5.v20130815.jaryesto be installed in Virgo
jetty-security-9.0.5.v20130815.jaryesto be installed in Virgo
jetty-server-9.0.5.v20130815.jaryesto be installed in Virgo
jetty-servlet-9.0.5.v20130815.jaryesto be installed in Virgo
jetty-util-9.0.5.v20130815.jaryesto be installed in Virgo
jetty-webapp-9.0.5.v20130815.jaryesto be installed in Virgo
jetty-xml-9.0.5.v20130815.jaryesto be installed in Virgo
jsr311-api-1.1.2.r612.jaryes

to be ignored
 
packages already present in jersey-core...

logback-access-1.1.2.jaryesto be installed in Virgo
(Note: we'll use logback-access-1.0.7 to fit Virgo logback versioning)
logback-classic-1.1.2.jaryesprovided by Virgo :
ch.qos.logback.classic_1.0.7.v20121108-1250 
logback-core-1.1.2.jaryesprovided by Virgo : 
ch.qos.logback.core_1.0.7.v20121108-1250
mimepull-1.6.jaryesto be installed in Virgo
neo4j-browser-2.1.2.jarnoNeo4j super bundle
neo4j-server-2.1.2.jarnoNeo4j super bundle
neo4j-server-2.1.2-static-web.jarnoNeo4j super bundle
opencsv-2.0.jarnoNeo4j super bundle
rhino-1.7R4.jarnobundleisation through bundlor
to be installed in Virgo 
rrd4j-2.0.7.jarnobundleisation through bundlor
to be installed in Virgo 
slf4j-api-1.6.2.jaryesprovided by Virgo :
org.slf4j.api_1.7.2.v20121108-1250 
Column
JARs in $NEO4J_HOME/libOSGI bundle ?Bundleisation methodology
concurrentlinkedhashmap-lru-1.3.1.jaryesto be installed in Virgo
geronimo-jta_1.1_spec-1.1.1.jar yes

provided by Virgo :
org.eclipse.osgi_3.8.1.v20120830-144521

lucene-core-3.6.2.jarnouse servicemix bundle
to be installed in Virgo 
neo4j-cypher-2.1.2.jarnoNeo4j super bundle
neo4j-cypher-commons-2.1.2.jarnoNeo4j super bundle
neo4j-cypher-compiler-1.9-2.0.3.jarnoNeo4j super bundle
neo4j-cypher-compiler-2.0-2.0.3.jarnoNeo4j super bundle
neo4j-cypher-compiler-2.1-2.1.2.jarno Neo4j super bundle
neo4j-graph-algo-2.1.2.jarnoNeo4j super bundle
neo4j-graph-matching-2.1.2.jarnoNeo4j super bundle
neo4j-jmx-2.1.2.jarnoNeo4j super bundle
neo4j-kernel-2.1.2.jarnoNeo4j super bundle
neo4j-lucene-index-2.1.2.jarnoNeo4j super bundle
neo4j-primitive-collections-2.1.2.jar noNeo4j super bundle
neo4j-shell-2.1.2.jarnoNeo4j super bundle
neo4j-udc-2.1.2.jarnoNeo4j super bundle
opencsv-2.0.jarnobundleisation through bundlor
to be installed in Virgo 
org.apache.servicemix.bundles.jline-0.9.94_1.jaryesto be installed in Virgo
parboiled-core-1.1.6.jaryesto be installed in Virgo
parboiled-scala_2.10-1.1.6.jaryesto be installed in Virgo
scala-library-2.10.4.jaryesto be installed in Virgo
server-api-2.1.2.jarnoNeo4j super bundle

 

Popular Labels
styleheatmap
spaceKeyBLOG