如果 `ignoreThrowablePredicate` 发生异常,则可能会导致死锁。
作者: HuwCampbell创建于 2025年6月20日更新于 2026年6月30日
标签bug
这与 Kotlin 包装器有关。我们发现,如果 ignoreThrowablePredicate 发生异常,可能会导致线程/CPU 陷入死循环。原因很简单,如果电路保护处理器中存在 throw,则 releasePermission,onError 或 onResult 都不会被调用;已经获取了一个永远不会释放的资源。虽然"不要这么做"是一个很好的建议,但我认为对用户提供的函数进行额外的尝试捕获是明智的。
内容来源: resilience4j/resilience4j