/Neo4j-Spring-Integration

A transaction manager module for neo4j that enables tx handling from Spring and sample code

Primary LanguageJava

Overview
--------

This repository contains 2 different projects. One is a @Service loadable module for getting Neo4j to use a transaction manager through the Spring
exposed interfaces. This is an actually useful implementation, ready to be plugged in your project or to be looked at to help you create a more
customized solution.
The other is a demo project that shows how to use the module above, including the configuration needed on Spring's part. A thorough examination of the
procedure, the mechanics and the rationale behind this code can be found at:

http://digitalstain.blogspot.com/2011/02/springy-ouside-graphy-inside.html

Dependency handling
-------------------
The sampleCode project requires 3 different transaction managers as dependencies: JOTM, Atomikos and Spring's Transaction Manager. While the first two are available through maven, the
third one isn't. To install it and get the project to compile, some steps are needed on your part.

git clone the following url:

git://git.springsource.org/transaction-manager/transaction-manager.git

and in the resulting directory go to build-transaction and execute ant. Things should compile from there with a potential problem being that you
miss a clover licence. In this case just edit build-transaction/build.xml and from the precommit target remove the clover dependency. The resulting
artifacts are in com.springsource.transaction.core/target/artifacts/ and com.springsource.transaction.log/target/artifacts/

Install them:

mvn install:install-file -DgroupId=org.springsource -DartifactId=transaction-core -Dpackaging=jar -Dversion=1.0 -Dfile=com.springsource.transaction.core.jar -DgeneratePom=true
mvn install:install-file -DgroupId=org.springsource -DartifactId=transaction-log -Dpackaging=jar -Dversion=1.0 -Dfile=com.springsource.transaction.log.jar -DgeneratePom=true

Now all dependencies are met and the demo project should compile