【发布时间】:2014-02-14 15:57:13
【问题描述】:
我正在尝试将 SDN 项目从当前稳定版本 (2.3.3) 迁移到支持 Neo4j 2.0 的 3.0.0 RC1 版本。
该项目是部署在 Glassfish 3.1.2.2 服务器上的 WAR,并使用通过 @Autowired Neo4jOperations 对象和 GraphRepository<T> 对象访问 Neo4j 的 EJB。
使用 SpringBeanAutowiringInterceptor 拦截器注释支持自动连接。
SDN配置由spring xml配置文件中的以下几行给出:
<context:annotation-config/> <context:spring-configured/> <bean id="graphDatabaseService" class="org.neo4j.kernel.EmbeddedGraphDatabase" destroy-method="shutdown"> <constructor-arg index="0" value="my.db"/> </bean> <neo4j:repositories base-package="com.my.neo4j.repository"/> <tx:annotation-driven mode="aspectj" transaction-manager="transactionManager"/> <neo4j:config graphDatabaseService="graphDatabaseService"/>
使用 2.3.3 SDN 版本时一切正常,但不幸的是使用 3.0.0 RC1 在部署时出现以下错误:
javax.enterprise.inject.UnsatisfiedResolutionException: 无法 解析一个 bean 'org.springframework.data.neo4j.support.mapping.Neo4jMappingContext' 带有限定符 [@javax.enterprise.inject.Any(), @javax.enterprise.inject.Default()]。 在 org.springframework.data.neo4j.repository.cdi.Neo4jCdiRepositoryExtension.createRepositoryBean(Neo4jCdiRepositoryExtension.java:107) 在 org.springframework.data.neo4j.repository.cdi.Neo4jCdiRepositoryExtension.afterBeanDiscovery(Neo4jCdiRepositoryExtension.java:82) ...
我真的不知道我的项目出了什么问题,我会感谢任何可以帮助我解决这个问题的人。
更新:与 3.0.0.RELEASE 相同的问题。
【问题讨论】:
-
有什么解决办法吗?如果我引入一个扩展“GraphRepository”的存储库,我也会遇到同样的问题。
-
@MarcusSchultö 已在当前版本 3.2.0 中解决。