【发布时间】:2020-02-19 15:46:00
【问题描述】:
我有一个实体 Post 并注册了一个事件监听器,如下所示。
@EntityListeners({EntityAuditor.class})
@Entity
class Post {
...
}
这是我的 EntityAuditor 监听器类的样子:
public class EntityAuditor {
@PostPersist
void publishToKafka(Object object) {
// publish new object to Kafka
}
}
我不希望在我的单元/集成测试尝试创建新帖子时调用它。有没有一种方法可以跳过 JPA 生命周期挂钩或仅用于测试的事件侦听器?
【问题讨论】:
-
你能试试吗?
-
嘿,对不起..错过了这个。我会尽力让你知道
-
嘿@areus,即使将此配置放入测试目录后,我的事件侦听器仍在运行
-
您确定 META-INF/orm.xml 在运行测试时在您的类路径中吗?您还可以尝试创建一个 NoOpEntityAuditor 并将其设置在
<entity-listeners>元素上以覆盖实体侦听器,而不是一个空列表
标签: spring hibernate spring-boot jpa spring-data-jpa