即使手动配置TaskConfigurer,具有2个数据源的Spring Cloud Task也会失败

时间:2016-02-02 07:11:56

标签: spring-cloud

美好的一天,

我有一个使用2个数据源的Spring Cloud应用程序,文档表明我应该手动创建TaskConfigurer以使用我所做的正确数据源,如下所示: -

<div class="zone zone-footer-quad-first" shape-id="77">
  <svg style="display: none;" shape-id="80">
    <symbol viewBox="0 0 200 200" class="Facebook" id="facebook" shape-id="80">
      <path class="style8" d="M189 0H11C4.9 0 0 4.9 0 11V189c0 6.1 4.9 11 11 11h95.8v-77.5H80.8V92.4 h26.1V70.1c0-25.8 15.8-39.9 38.8-39.9c11 0 20.5 0.8 23.3 1.2v27l-16 0c-12.5 0-15 6-15 14.7v19.3h29.9l-3.9 30.2h-26V200h51 c6.1 0 11-4.9 11-11V11C200 4.9 195.1 0 189 0z"
      display="inline" id="_facebook" shape-id="80" />
    </symbol>
  </svg>
  <div class="socialLink-wrapper" shape-id="80">
    <ul class="socialLink" shape-id="80">
      <li class="facebook" shape-id="80">
        <svg class="icon" id="facebook" shape-id="80">
          <use xlink:href="#facebook" shape-id="80" />
        </svg>
      </li>
    </ul>
  </div>
</div>

Spring正确配置了TaskConfigurer和相关的存储库,但是当Spring调用SimpleTaskConfiguration来完成配置时,无论是否只有一个任务配置器,验证总会失败,因为有2个数据源。

亲切的问候,

Mark P Ashworth

Debug screenshot showing that verifyEnvironment() is failing

1 个答案:

答案 0 :(得分:0)

除了定义TaskConfigurer以使自动配置工作之外,我还必须设置@Primary注释。像这样:

@Primary
@Bean
public DataSource primaryDataSource() {
  ...
}