首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JaversSqlAutoConfiguration.javers()未被调用

JaversSqlAutoConfiguration.javers()未被调用
EN

Stack Overflow用户
提问于 2016-09-05 00:52:01
回答 1查看 269关注 0票数 1

上下文

我已经为我的实体使用了@TypeName("Employee"),这样我就可以在DB中丢失完全合格的TypeName。它如预期的那样工作。

问题

当Spring应用程序重新启动,并且有现有的审计日志时,当我按下TYPE_NAME_NOT_FOUND时,我会得到javers.findSnapshots()异常

org.javers.common.exception.JaversException: TYPE_NAME_NOT_FOUND type name 'Employment' not found. If you are using @TypeName annotation, remember to register this class using JaversBuilder.scanTypeName(Class). See also https://github.com/javers/javers/issues/263

到目前为止我的方法

  • 我增加了JaversSqlAutoConfiguration.java,叫它MyJaversSqlAutoConfiguration
  • 然后,我在scanTypeName(Employee.class)中添加了MyJaversSqlAutoConfiguration.javers()

观察

  • 我注意到MyJaversSqlAutoConfiguration.javers(connectionProvider)没有被击中。但是,org.javers.spring.boot.sql.JaversSqlAutoConfiguration.javers()在调试模式下会被击中。MyJaversSqlAutoConfiguration' gets hit. But notMyJaversSqlAutoConfiguration.javers(ConnectionProvider connectionProvider中的commitPropertiesProvider()和springSecurityAuthorProvider() `。

仔细检查后,我发现org.javers.spring.boot.sql.JaversSqlAutoConfiguration.javers()没有@ConditionalOnMissingBean,但commitPropertiesProvider()springSecurityAuthorProvider()有。

问题

是否有这个scanTypeName()的工作示例,或者我们应该添加@ConditionalOnMissingBean?

EN

回答 1

Stack Overflow用户

发布于 2016-09-05 21:48:25

看起来在javers定义中缺少了@ConditionalOnMissingBean (在两个javers-spring-boot-starters中)。

它可以添加到JaversSqlAutoConfiguration.javaJaversMongoAutoConfiguration.java中。

代码语言:javascript
复制
@Bean(name = "javers")
@ConditionalOnMissingBean
public Javers javers(ConnectionProvider connectionProvider) {
...

如果你贡献一个公关,我们会合并它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39322714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档