Spring Cloud Dataflow Maven 快照 - 如何设置更新策略?

Spring Cloud Dataflow Maven Snapshots - how to set update policy?

我正在开发自定义 Spring 云流处理器并使用本地 Spring 云数据流服务器 (v 1.3.0.M1) 运行 它。由于我仍在试验,我正在使用 Maven 将快照部署到我们的内部远程存储库,然后通过数据流注册它们 shell:

dataflow:>app register --name myproc --type processor --uri maven://com.company.stream.processor:myproc:0.0.1-SNAPSHOT

我使用 myproc 部署了一个流,并在日志中看到了我期望的信息。所以我调整了处理器,使用 Maven rebuild/redeploy 远程回购,并确认更新确实到达了我们的远程回购。

我取消部署流,取消注册 myproc,然后重新注册并重新部署。但是,服务器没有下载处理器的更新快照版本。

我不想每次注册应用程序的新副本时都必须手动从本地存储库中删除快照。有没有办法在 application.yml 中配置 Maven 属性以便始终下载快照?我用 Google 搜索了可能列在 .yml 文件中但找不到的 Maven 属性列表。

我在 Dataflow 服务器的 application.yml 配置中有这些 Maven 属性。我还确保本地服务器上用户 运行 的 settings.xml 文件将 updatePolicy 设置为 'always',但我认为这没有任何效果。

maven:
  local-repository: /tmp/scdf-artifact-repository
  remote-repositories:
    repo1:
      url: https://repo.company.com/maven2
      auth:
        username: user
        password: pw

感谢您报告此事。这确实是目前 Spring Cloud Deployer 中缺少的功能。

RemoteRepositoryBuilder 目前使用默认的每日更新策略。创建 https://github.com/spring-cloud/spring-cloud-deployer/issues/229 以跟踪此功能。

同时,如果您想变通,可以更新 spring-cloud-deployer 代码以设置 updatePolicy remoteRepositoryBuilder.setSnapshotPolicy here