2017-08-15 131 views
0

我正在开发自定义Spring云流处理器并使用本地Spring云数据流服务器(v 1.3.0.M1)来运行它。由于我还在尝试,我使用Maven快照部署到我们内部的远程存储库,然后注册它们通过数据流壳:Spring云数据流Maven快照 - 如何设置更新策略?

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

我使用myproc部署流,看见我预计的信息日志。所以我调整了处理器,使用Maven重建/重新部署到远程回购,并确认更新确实进入我们的远程回购。

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

我不想在每次注册应用程序的新副本时从本地回购库中手动删除快照。有没有办法在application.yml中配置Maven属性,以便总是下载快照?我搜索了一个Maven属性列表,该列表可能在.yml文件中列出,但找不到一个。

我在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 

回答

1

感谢您报告此问题。这确实是Spring Cloud Deployer中的一个缺失功能​​。

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

同时,如果你想解决,您可以更新spring-cloud-deployer代码设置updatePolicy remoteRepositoryBuilder.setSnapshotPolicyhere

+0

感谢您创建的问题! – user944849

+0

@ user944849:现在已解决此问题,它已包含在[1.3.0.M2](https://spring.io/blog/2017/09/18/spring-cloud-data-flow-1-3- 0-m2-released#app-registry-and-maven-update-policies)发布Spring云数据流。请尝试一下,如果可以的话,给我们任何反馈。感谢您使用SCDF! –

+0

@SabbyAnandan,终于有机会尝试这个,它运作良好!非常感谢你。 – user944849