我想从属性文件中设置@FeignClient中的服务名称,如下所示:
@FeignClient("${service.users}")
并在application.yml
中设置名称,例如:
service.users: user-service
其中user-service
是在Eureka注册服务的名称。
我已经尝试过但它不起作用。它抱怨名字无效。
可以这样做吗?
答案 0 :(得分:1)
这是一个开放的issue。欢迎拉请求: - )
答案 1 :(得分:1)
这可以这样做。
@FeignClient(名称=" FD-mobileapi服务",URL =" $ {fdmobile.ribbon.listOfServers}&#34)
fdmobile.ribbon.listOfServers:value =>>这将是application.properties中的一个属性。
答案 2 :(得分:1)
我尝试使用类似的配置:
@FeignClient(name = "${spring.application.name:optional.application.name}")
application.yml, bootstrap.yml:
spring:
application:
name: my-test-application
启动后检查日志
2016-05-24 16:11:00 [hystrix-my-test-application-1] INFO o.s.c.a.AnnotationConfigApplicationContext.prepareRefresh...
我也在zookeeper活动服务中找到了
>ls /service/my-test-application
[8668663c-cce1-4181-94de-4ccaacefa7e3]
在调试模式客户端bean中检查 - 它已创建
HardCodedTarget(type=EventBusClient, name=fnma-cp-test, url=http://my-test-application)
所以这个配置应该有效。 我的建议是:
请创建下一个文件结构:
application.yml
META-INF
|-additional-spring-configuration-metadata.json
其中additional-spring-configuration-metadata.json应该有这样的东西
{
"properties": [
{
"name": "service.users",
"type": "java.lang.String",
"description": "Description for service.users.",
"defaultValue": "Some_Value"
}
]
}
无论如何,如果 additional-spring-configuration-metadata.json 出现任何问题,您可以在此处找到解释:enter link description here