Spring 当在 master 的应用程序属性文件中设置 server.port 属性 时,Cloud Deployer Local 无法启动 worker 远程分区

Spring Cloud Deployer Local is unable to spin up worker remote partitions when server.port property is set in master's application properties file

我正在尝试在 application.properties 文件中配置了 server.port=8080 属性 的现有应用程序中构建批处理服务。当我 运行 批处理过程和 Spring 批处理尝试启动远程分区(单独的 JVM)时,spring 本地云部署程序抛出错误提示 “\r\n\r\n***************************\r\nAPPLICATION 失败 START\r\n***** **********************\r\n\r\n描述:\r\n\r\n配置为侦听端口 8080 的 Tomcat 连接器启动失败。端口可能已被使用或连接器可能配置错误。\r\n\r\n操作:\r\n\r\n验证连接器的配置,识别并停止侦听端口 8080 的任何进程,或配置此应用程序以侦听另一个端口。

有没有办法让框架为工作分区生成随机端口,即 server.port 属性 已经在 application.properties 中按原样配置?

谢谢。

A Spring 批处理远程分区设置需要一个消息代理用于管理器和工作器之间的通信,但它不需要任何 Web 功能。您似乎将所有应用程序本地(经理和工作人员)部署为 Web 应用程序,因此部署多个工作人员时会发生端口冲突。

您至少有两个选择:

  • 为每个应用程序设置一个随机服务器端口(查看 Spring Boot 如何让您做到这一点 here
  • 或者,如果工作人员的数量是固定的,则将端口静态设置为不同的值。