我需要在我的骆驼路线上发送通知。有4种情况可以触发:
它们都会向 kafka 发送类似的有效载荷(要构建它,我需要当前的 exchangeBody 和 2 个额外的参数,每种情况都会有所不同。String reason 和 String subject)。
我计划案例 2-4 有单独的处理器,我在那里进行检查,如果它返回 false,我抛出自定义异常,我在其中传递这 2 个字段。然后我在我的路线中的 onException() 方法中捕获它,在那里我获得必要的字段和 exchangeBody,构建并发送事件。对于案例 1,我有单独的处理器来构建和发送消息。
我在想,也许我应该将它们设置为交换属性,而不是在异常情况下传递参数?
或者构建消息,并将其设置到正文中?
或者在抛出异常之前构建并发送事件?
或者也许从异常开始工作是不好的做法,我应该将一些标志传递给骆驼?