【发布时间】:2015-02-10 17:03:14
【问题描述】:
我编写了一个 RepositoryEventHandler 来使用 Spring Data Neo4j。我尝试了许多不同的配置方式,但似乎无法触发任何事件。用户数据保存成功,但没有生成日志,或者断点命中。我确信 @Beans 已加载,因为在启动期间生成了一些较早的错误(缺少我此后包含的库)。
代码和配置如下...
@RepositoryEventHandler:
package com.test.repository.handler;
@Component
@RepositoryEventHandler(User.class)
public class UserEventHandler {
private Log logger = LogFactory.getLog(getClass());
@HandleBeforeSave
public void handleBeforeSave(User user) {
logger.debug("handle before save for " + user.getId());
}
@HandleBeforeCreate
public void handleBeforeCreate(User user) {
logger.debug("saved user " + user.getId());
}
@HandleAfterDelete
public void handleAfterDelete(User user) {
logger.debug("deleted user " + user.getId());
}
}
存储库配置
package com.test.config;
@Configuration
public class RepositoryConfiguration {
@Bean
UserEventHandler userEventHandler() {
return new UserEventHandler();
}
@Bean
AnnotatedHandlerRepositoryEventListener repositoryEventListener() {
return new AnnotatedHandlerRepositoryEventListener(
"com.test.repository.handler");
}
}
用户存储库:
package com.test.repository;
public interface UserRepository extends PagingAndSortingRepository<User, Long> {
User findById(Long id);
}
在寻找解决此问题的方法时,我没有遇到任何表明 @RepositoryEventHandler 不适用于 Neo4j 数据存储库的情况。我错过了什么吗?
以下是我正在使用的相关版本:
compile 'org.springframework.data:spring-data-rest-webmvc:2.2.1.RELEASE'
compile 'org.springframework.data:spring-data-neo4j:3.2.1.RELEASE'
compile 'org.springframework.data:spring-data-neo4j-rest:3.2.1.RELEASE'
compile 'org.springframework.data:spring-data-rest-repository:1.0.0.RELEASE'
compile 'com.google.guava:guava:r05'
感谢您的帮助。
【问题讨论】:
-
我也有同样的问题。你的怎么解决的?如果在 Github 上,您可以发布指向您的项目的链接吗?
标签: java spring spring-data spring-data-neo4j