我是 Hystrix 的新手。我正在开发一个微服务项目。我在服务层方法上使用 Hystrix 来提供后备机制。下面是我的方法签名:
@HystrixCommand(fallbackMethod = "viewMyDataFallback", commandProperties = {
@HystrixProperty(name = "execution.isolation.strategy", value = "SEMAPHORE") })
@Transactional(readOnly = true)
@Override
public CustomResponseModel viewMyData(Input parameters){
//invoking repository method for some hibernate operations
}
我必须使用execution.isolation.strategy
SEMAPHORE否则我不会在回退方法上获得休眠会话工厂,因为 hystrix 将创建不包含当前事务属性的单独线程。
我想问专家组使用SEMAPHORE 作为策略是否是正确的方法?如果没有,那么如何克服这种情况?