I have been using Neo4J 1.8.x
as an embedded database in an application framework that breaks the regular ServiceLoader
used by Neo4j
. So far, I've worked around this issue by using the OSGi instructions for Neo4j. This has worked great.
However, these OSGi
instructions no longer work for 1.9.0
, 1.9.1
or 2.0.0-M03
. When initializing the embedded database I get this exception:
java.lang.ExceptionInInitializerError
at plugins.fritter.Fritter.setupNeo4j(Fritter.java:240)
at plugins.fritter.Fritter.runPlugin(Fritter.java:106)
at freenet.pluginmanager.PluginHandler.startPlugin(PluginHandler.java:45)
at freenet.pluginmanager.PluginManager.realStartPlugin(PluginManager.java:394)
at freenet.pluginmanager.PluginManager.startPluginFile(PluginManager.java:367)
at freenet.clients.http.PproxyToadlet$3.run(PproxyToadlet.java:157)
at freenet.support.PooledExecutor$MyThread.innerRun(PooledExecutor.java:247)
at freenet.support.PooledExecutor$MyThread.realRun(PooledExecutor.java:187)
at freenet.support.io.NativeThread.run(NativeThread.java:129)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at org.neo4j.graphdb.factory.GraphDatabaseSettings.<clinit>(GraphDatabaseSettings.java:79)
... 9 more
I am aware that the OSGi
setup instructions have changed from 1.9.0
and higher versions OSGI, but the new initialization methods do not address the issue.
Is neo4j
> 1.8.3
still supported in a non-ServiceLoader
/ OSGi
context and, if so, what is the proper way to set it up?