我正在开发一个模块,其目的是处理 Java 异常并决定处理它们的策略。异常可能是我知道的事情(明确的业务异常,例如 TransformationException)或更一般的环境问题(JMS 错误、IO 错误等)
插入知识库的事实都是同一个类,并且包装(包含)一个Exception。
我想编写一个规则,明确匹配我知道如何处理的异常(例如 TransformationException),并有另一个规则来捕获“其他所有内容”
在我看来,问题在于对于包含 TransformationException 的事实,两个规则都会触发并且输出将是不确定的。
我将如何在不依赖显着性来控制执行顺序的情况下编写此类排他性规则(从我所读的内容来看,这似乎是不好的做法)?
我有一个我不满意的解决方案,其结果取决于在我的 .drl 中定义规则的顺序。