为了在Feign中正常工作,我在application.yml中具有Ribbon的以下配置。
ribbon:
listOfServers: http://localhost:8080
我的IntegrationTest批注配置如下所示:
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TestApplication.class)
但是,当设置为
RANDOM_PORT
时,集成测试将失败,并且会显示feign.RetryableException: Connection refused
。因为Feign在端口8080上寻找测试,但它们在随机端口上。设置为
DEFINED_PORT
时,所有测试均成功通过。我应该如何为Ribbon配置服务器列表,以便让Feign查找SpringBoot产生的随机端口?
最佳答案
使用财产
local.server.port
ribbon:
listOfServers: localhost:${local.server.port}