springneo4jspring-dataspring-data-graph

use WrappingNeoServerBootstrapper with spring-data-neo4j


Is it possible to use the WrappingNeoServerBootstrapper with spring-data-neo4j?

When using an embedded database without spring-data-neo4j, one can use a WrappingNeoServerBootstrapper to enable the REST-interface and the Webadmin. I use spring-data-neo4j and an embedded db (<neo4j:config storeDirectory="target/graph.db"/> in spring context) and would like to use the webadmin and rest-interface.

Is there any way to accomplish this?

I am also wondering if spring-data-neo4j-rest handles transactions?


Solution

  • That should be no problem. The config below is not tested, but should work and give you an idea how to set it up.

    <neo4j:config graphDatabaseService="gds"/>
    
    <bean id="gds" class="...EmbeddedGraphDatabase">
      <constructor-arg value="target/graph-db"/>
    </bean>
    
    <bean id="serverWrapper" class="...WrappingNeoServerBootstrapper" init-method="start" destroy-method="stop">
       <constructor-arg ref="gds"/>
    </bean>
    

    Transactions are handled the same way as the Neo4j-REST API does it. One per request. The underlying neo4j-rest-graphdb library also supports the REST-Batch API but that is not yet leveraged in SDN.

    Update:

    Please also add the dependency for the webadmin static files to your project, something like this:

    <dependency>
      <groupId>org.neo4j.app</groupId>
      <artifactId>neo4j-server</artifactId>
      <version>1.5</version>
      <type>jar</type>
      <classifier>static-web</classifier>
    </dependency>