gpt4 book ai didi

spring-data-rest - 添加 Controller 时,SpringDataRest @RepositoryEventHandler 未运行

转载 作者:行者123 更新时间:2023-12-04 08:30:46 28 4
gpt4 key购买 nike

我有一个在存储库上运行良好的事件处理程序。但是,一旦我将 Controller 添加到混合中并直接调用存储库方法,EventHandler 似乎被跳过了。

有没有人遇到过这个“问题”?如果是这样,我该怎么做才能让事件处理程序再次开始运行?

最佳答案

因此,您希望在使用自定义 Controller 时调用您的事件处理程序。我认为这种期望是错误的。事件处理程序在 spring 数据静止时才被调用 RepositoryEntityController处于控制之中。它不是 JPA 级别的实体事件监听器。

您可以做的是手动调用事件处理程序。 spring-data-rest RepositoryEventHandler是一个使用普通的 spring 应用程序事件。所以你的 Controller 可以实现 ApplicationEventPublisherAware并发布 spring-data-rest 应用程序事件之一。这些都是 org.springframework.data.rest.core.event.RepositoryEvent 的子类

applicationEventPublisher.publishEvent(new AfterCreateEvent(myEntity));

spring documentation详情。

关于spring-data-rest - 添加 Controller 时,SpringDataRest @RepositoryEventHandler 未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34210903/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com