无法升级到Neo4j 2.2.0和Spring Data Neo4j 3.3.0.RELEASE

6
我使用的是Spring 4.1.6.RELEASE和Spring Boot 1.2.3.RELEASE。 目前,我无法顺利地从Neo4j 2.1.7和SDN 3.2.2.RELEASE转移到Neo4j 2.2.0和SDN 3.3.0.RELEASE。
首先,Neo4jHelper类不存在...那么应该使用什么代替呢?
此外,我的测试会崩溃,并出现以下异常:
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)

但在之前的版本中,一切都很好(我的DAO和服务使用了@Transactional注释)。

如何在我的Spring Boot应用程序中为Neo4j配置适当的TX管理器?

现在正在使用NullTransactionManager,我认为这是问题的原因:

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

我做错了什么?
1个回答

5

这还在进展中,我已经有了一个分支,但因为Neo4j 2.2改变了许多内部API而尚未完成。

请在接下来的一周左右保持关注。


6
什么是保持警觉并了解Spring Data / Spring Data Neo4j和Neo4j之间互操作性的最佳方法?是否有一个规范的“状态”页面,显示最近的工作组合? - Darrell Berry
2
一个月前提交了这个JIRA问题,但到目前为止还没有收到任何回复。我猜这可能是团队有时间更新时听取更新消息的最佳途径。期待Neo4j 2.2性能的改进! https://jira.spring.io/browse/DATAGRAPH-593 - Jonathan Crosmer
1
SDN的哪个版本可以修复与Neo4j 2.2.*的兼容性问题?是SDN 3.4.0版本吗? - alexanoid
感谢Michael Hunger,我终于在我的Neo4j 2.2.2和SDN 3.4.0.M1项目中解决了这个问题。 - alexanoid
1
@JohnMark13 我们在升级到Neo4j 2.2.x系列与SDN 3.3.1时遇到了多个问题,尽管它被认为是受支持的。你发布的链接就是其中之一,但我已经解决了这个问题。我们也尝试过Neo4j 2.2.0,但它似乎不稳定,甚至在重新启动时会破坏我们的数据库,而且使用早于最新微版本似乎是不负责任的。一旦我们嵌入了2.2.3版本,它似乎有一些严重的稳定性问题,包括神秘地崩溃我们的JVM进程。由于2.1.8版本看起来很稳定,而且我们的开发时间已经不多了,所以我们选择了它(暂时)。 - Jonathan Crosmer
显示剩余6条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接