【问题标题】:@EnableMongoAuditing and @CreatedDate Auditing not working in Spring Boot 2.4.3@EnableMongoAuditing 和 @CreatedDate 审计在 Spring Boot 2.4.3 中不起作用
【发布时间】:2021-01-22 23:18:44
【问题描述】:

我正在关注这个例子https://github.com/hantsy/spring-reactive-sample/blob/master/boot-exception-handler/src/main/java/com/example/demo/DemoApplication.java ...有效——在创建时设置 createDate MongoDB 字段。那里的版本是 2.1.6.RELEASE。但是,当我将此升级到 2.4.2 时,不再设置 createDate。没有任何警告,它似乎只是停止工作了。

模型类是:

@Document
@Data
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
class Post {

    @Id
    private String id;
    private String title;
    private String content;

    @CreatedDate
    private LocalDateTime createdDate;
    @Version
    private Integer version;
}

另外,设置了 MongoDB 审计:

@SpringBootApplication
@EnableMongoAuditing
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

这是一个已知问题吗?我找不到任何关于此的迁移说明。如何在最新的 Spring Boot 版本中启用审计?

更新:

看起来它工作的最新版本是spring-boot-starter-parent2.3.7.RELEASE。切换到2.4.0时停止工作。

【问题讨论】:

  • 试试调试模式,它可能会把你带到某个地方。

标签: spring-boot spring-data-mongodb


【解决方案1】:

通过使用新的@EnableReactiveMongoAuditing注解解决,加上一个类似的bean

@Bean
public ReactiveAuditorAware<String> auditorProvider() {
    return () -> Mono.just("Me");
}

问题可能与我使用 @EnableReactiveMongoRepositories 配置应用程序的事实有关

【讨论】:

  • 什么是“单声道”?就我而言,我无法解决它。提前致谢。
  • Mono 来自反应堆的东西(反应式网络堆栈)
猜你喜欢
  • 1970-01-01
  • 2020-02-20
  • 1970-01-01
  • 2017-08-10
  • 2019-07-23
  • 2015-01-20
  • 2020-02-24
  • 2016-09-08
  • 2013-12-27
相关资源
最近更新 更多