2016-09-05 3 views
1

コンテキスト

と呼ば得ていません。それは期待どおりに動作します。JaversSqlAutoConfiguration.javers()

問題

春ブートアプリケーションを再起動し、既存の監査ログがありますされている場合、私は今のところ私のアプローチ

    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

    を打ったとき、私はTYPE_NAME_NOT_FOUND例外を取得
  • JaversSqlAutoConfiguration.javaを追加しました。それをMyJaversSqlAutoConfiguration
  • MyJaversSqlAutoConfiguration.javers()scanTypeName(Employee.class)を追加しました。

観察

  • 私はMyJaversSqlAutoConfiguration.javers(connectionProvider)がヒットされません気づきました。ただし、org.javers.spring.boot.sql.JaversSqlAutoConfiguration.javers()はデバッグモードでヒットします。 commitPropertiesProvider()およびspringSecurityAuthorProvider()をMyJaversSqlAutoConfiguration' gets hit. But not MyJaversSqlAutoConfiguration.javers(ConnectionProvider connectionProvider)に設定します。精密検査の際

、私はorg.javers.spring.boot.sql.JaversSqlAutoConfiguration.javers()@ConditionalOnMissingBeanが、commitPropertiesProvider()springSecurityAuthorProvider()行いを持っていないことがわかりました。質問

はこのscanTypeNameの実施例は、()どこか私たちは@ConditionalOnMissingBeanを追加する必要がありますか?

答えて

0

javers bean定義(javers-spring-boot-starters)には@ConditionalOnMissingBeanがありません。

あなたのPRに貢献した場合、我々はそれをマージしますJaversSqlAutoConfiguration.javaJaversMongoAutoConfiguration.java

@Bean(name = "javers") 
@ConditionalOnMissingBean 
public Javers javers(ConnectionProvider connectionProvider) { 
... 

に追加することができます。