java.lang.IllegalArgumentException: bad property value. property name 'execution.isolation.strategy'. Expected correct enum value, one of the [[THREAD, SEMAPHORE]] , actual = thread异常 解决 办法
我在SpringCloud项目中,利用 feign 进行远程调用时,结合Hystrix进行服务熔断降级功能的实现时,对Tomcat线程池进行调优配置时,出现如下异常信息:

通过查看 控制台 日志信息,发现如下异常信息:
java.lang.IllegalArgumentException: bad property value. property name 'execution.isolation.strategy'. Expected correct enum value, one of the [[THREAD, SEMAPHORE]] , actual = thread` `at com.netflix.hystrix.contrib.javanica.conf.HystrixPropertiesManager.createBadEnumError(HystrixPropertiesManager.java:409) ~[hystrix-javanica-1.5.18.jar:1.5.18]` at com.netflix.hystrix.contrib.javanica.conf.HystrixPropertiesManager.toEnum(HystrixPropertiesManager.java:392) ~[hystrix-javanica-1.5.18.jar:1.5.18]`通过分析得知,是因为我的一个属性值错误!
也就是execution.isolation.strategy的属性值有问题。
execution.isolation.strategy的属性值有两个,分别为:THREAD 和 SEMAPHORE,而且必须是大写!
结果我代码中是小写的,所以出现以上问题。
把属性值改为大写即可,如下图所示。

@GetMapping("/hystrix/show")` `@HystrixCommand(fallbackMethod = "myFallbackMethod",commandProperties = {` `@HystrixProperty(name="execution.isolation.strategy",value = "THREAD"),` `@HystrixProperty(name="execution.isolation.thread.timeoutInMilliseconds",value = "3000"),` `@HystrixProperty(name="circuitBreaker.enabled",value = "true"),` `@HystrixProperty(name="circuitBreaker.requestVolumeThreshold",value = "3")` `})` `*public* String showRemotePort() {` `*return* searchClient.callRemotePort();` `}
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删