No se puede mover a Neo4j 2.2.0 y Spring Data Neo4j 3.3.0.RELEASE
spring-boot spring-data-neo4j (1)
Este es un trabajo en progreso, lo tengo en una rama pero aún no está hecho ya que Neo4j 2.2 cambió muchas API internas.
Estén atentos durante la próxima semana más o menos.
Uso Spring 4.1.6.RELEASE y Spring Boot 1.2.3.RELEASE. En este momento, no puedo moverme sin problemas de Neo4j 2.1.7 y SDN 3.2.2.RELEASE a Neo4j 2.2.0 y SDN 3.3.0.RELEASE
En primer lugar, la clase Neo4jHelper
está ausente ... entonces, ¿qué debería usarse en su lugar?
Además, mis pruebas fallan con las siguientes excepciones:
org.springframework.dao.InvalidDataAccessApiUsageException: nested exception is org.neo4j.graphdb.NotInTransactionException
at org.springframework.data.neo4j.support.Neo4jExceptionTranslator.translateExceptionIfPossible(Neo4jExceptionTranslator.java:51)
at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59)
at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213)
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:147)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
pero en las versiones anteriores todo funciona bien (Mi DAO y Servicios están anotados con @Transactional
).
¿Cómo configurar el administrador de TX apropiado para Neo4j en mi aplicación Spring Boot?
En este momento se usa NullTransactionManager
y creo que este es un motivo del problema:
2015-04-03 11:40:36 [main] INFO o.s.c.a.AnnotationConfigApplicationContext - Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@12db5286: startup date [Fri Apr 03 11:40:36 EEST 2015]; root of context hierarchy
2015-04-03 11:40:37 [main] INFO o.s.b.f.a.AutowiredAnnotationBeanPostProcessor - JSR-330 ''javax.inject.Inject'' annotation found and supported for autowiring
2015-04-03 11:40:38 [main] INFO o.s.t.jta.JtaTransactionManager - Using JTA UserTransaction: org.springframework.transaction.jta.UserTransactionAdapter@5909b7c2
2015-04-03 11:40:38 [main] INFO o.s.t.jta.JtaTransactionManager - Using JTA TransactionManager: org.springframework.data.neo4j.config.NullTransactionManager@16bc4d92
¿Qué estoy haciendo mal?