微服务开发时,将spring-boot由1.3.5.RELEASE版本升级为spring-boot1.4.0.RELEASE后,运行程序抛异常:
java.lang.IllegalArgumentException: Either name or value can be specified, but not both at org.springframework.util.Assert.isTrue(Assert.java:68) ~[spring-core-4.3.2.RELEASE.jar:4.3.2.RELEASE] at org.springframework.cloud.netflix.feign.FeignClientsRegistrar.validate(FeignClientsRegistrar.java:193) ~[spring-cloud-netflix-core-1.1.2.RELEASE.jar:1.1.2.RELEASE]
升级前运行正常,使用Netflix的Feign作为Http Client,通过@FeignClient(value = "coreservice")注解的方式指定接口,通过调试代码发现出错的地方是FeignClientsRegistrar.validate()方法里,name和value都有值为coreservice,从而抛出异常,但当版本为1.3.5时,只有value有值,所以validate()方法能够正常返回,而版本为1.4.0时value和name值都存在,就抛异常了。可明明@FeignClient(value = "coreservice"),这里只指定了value的值啊,这到底是啥原因呢?哪位好心人可以指点下,谢谢!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。