您如何建议Camel在路径中定义要保存以供审核的事物的键/值表达式,并将它们拾取并透明地写入数据库?
即。该路由包含一个或一组表达式,用于保存以供审计,但不知道它实际上如何被拾取并写入数据库。
这就像Mule的审核功能,您可以在Mule XML中放置<flow>
个元素,并定义表达式以保存到Mule的DB进行跟踪。
我已经看过拦截器,事件通知器,跟踪器,WireTaps,MDC记录 - 我确信答案在于这些元素中的一个或组合,但对我来说并不清楚。
我使用Mule审核XML的示例作为比较文档:
<flow name="bizFlow">
<tracking:custom-event event-name="Retrieved Employee" doc:name="Custom Business Event">
<tracking:meta-data key="Employee ID" value="#[payload['ID']]"/>
<tracking:meta-data key="Employee Email" value="#[payload['Email']]"/>
<tracking:meta-data key="Employee Git ID" value="#[payload['GITHUB_ID']]"/>
</tracking:custom-event>
</flow>
非常感谢
答案 0 :(得分:0)
对于审核,我使用wireTap
将交换发送到特殊audit route
,我在那里执行审核所需的操作。实际上不是DB而是JMS队列,但没关系。
只有一个限制:审核的任何内容都不能在wireTap
之后通过主路由(并行运行)进行更改,因此我将wireTap
之前的审核数据克隆到特殊的Exchange属性中用于审计路线。