如果主命令失效,我想使用Hystrix自动回退到辅助实现。这很有效。
但是一旦主命令失效,并且辅助命令用于处理请求,我不想自动切换回主命令。
我想要一本手册"切换回来"到主命令(因为有业务需要这样做)。
我尝试实现一个HystrixCommandExecutionHook
,它与一个只能在外部重置的状态引擎一起工作。一旦PrimaryCommand失败,StateEngine切换到"电路打开"。每当尝试再次执行主命令时,都会在onExecutionStart
挂钩中检查State-Engine,并可能引发自定义RuntimeException
。
这样可行,但问题是一旦客户决定切换回主命令,就无法保证下一次执行会尝试切换回主命令,因此某些命令仍然可以作为辅助命令执行通过Hystrix。
TL;博士
一旦打开电路没有任何自动"魔法"是否有可能只是手动关闭电路。如何再次关闭?
答案 0 :(得分:1)
简短的回答是。
您可以使用断路器属性circuitBreaker.forceClosed
强行关闭电路。当该断路器设置为true
时,该属性会强制断路器进入闭合状态。