1
回答
求助,spring-boot升级带来的异常!
终于搞明白,存储TCO原来是这样算的>>>   

微服务开发时,将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的值啊,这到底是啥原因呢?哪位好心人可以指点下,谢谢!

<无标签>
举报
chenlu3192
发帖于12个月前 1回/252阅
顶部