自动装配在flyway回调方法中不起作用

问题描述 投票:0回答:1

我正在尝试进行迁移演示的方法。我可以在其中迁移代码。我扩展了BaseFlywayCallback,并且我想在每次迁移之前和之后打印迁移信息。我在其他服务类中有用于打印信息的代码。我正在自动接线,但是不能在那儿工作。我尝试了其他方法,但毫无价值。

  @Autorired
  PrintInfoService service

我该怎么做。

spring-boot flyway
1个回答
0
投票

通过使用FlywayAutoConfiguration在弹簧靴内部与飞路进行集成

它必须创建一个Flyway bean,它将在其上注册在类路径中找到的所有回调。

我无法测试,但是我相信您必须:

  1. 确保您的回调是spring bean
  2. 确保Spring Boot扫描您的bean并在初始化期间创建它的实例
  3. FlywayAutoConfiguration处放置一个断点:
public Flyway flyway(FlywayProperties properties, DataSourceProperties dataSourceProperties,
                ResourceLoader resourceLoader, ObjectProvider<DataSource> dataSource,
                @FlywayDataSource ObjectProvider<DataSource> flywayDataSource,
                ObjectProvider<FlywayConfigurationCustomizer> fluentConfigurationCustomizers,
                ObjectProvider<JavaMigration> javaMigrations, ObjectProvider<Callback> callbacks)
  1. ...并确保您的回调位于spring识别的bean列表中。
© www.soinside.com 2019 - 2024. All rights reserved.