我试图找出是否可以手动复位断路器的测试(Java)。我目前正在为它添加睡眠以重新设置自身,但并不理想,因为测试将运行更长时间。
我正在考虑手动注入CircuitBreakerRetry并更改状态,但是它是包私有的,所以它不是一个选项。
为了同样的目的,Histryx进行了手动重置,我想知道Micronaut中是否有任何内容。
目前,我已经在客户端方法上取消了它:
class MyClient {
@CircuitBreaker(
delay = "${config.client.circutBreaker.delay}",
reset = "${config.client.circutBreaker.resetTimeout}",
attempts = "${config.client.circutBreaker.maxFailures}"
)
public Single<JsonNode> callClient() {
<...>
}
}在测试中,我注入MyCient并使用wiremock模拟端点。因此,如果我在Wiremock it opens the circuit and to close I need to wait resetTimeout`中抛出一个错误或模拟超时。
发布于 2022-10-11 22:52:35
@MicronautTest(rebuildContext = true)应该在每次测试之前重建注入的模拟,这将重新设置断路器。
https://stackoverflow.com/questions/65708512
复制相似问题