我正在将我的mule配置模块化为多个私有和子流,以执行常见任务,例如常见通知/日志记录流程。
这些流程需要多条不同的信息才能从各种不同的流程中调用。
将此信息传递给私有/子模块化流程的最佳做法是什么?
是流量变量吗?会话变量?创建这些值的映射作为有效负载?
我目前正在使用流量变量,但这会使配置非常冗长。
以我的日志记录流程为例,我有多个set-variable处理器,多次执行flow-ref:
<set-variable variableName="loggingEndpoint" value="xx" />
<set-variable variableName="loggingPriority" value="INFO" />
<set-variable variableName="loggingSubject"
value="xxx" />
<set-variable variableName="loggingBody"
value="xxxxx" />
<set-variable variableName="loggingCC"
value="xx" />
<flow-ref name="LoggingService" doc:name="Logging service" />
我多次这样做,因此有很多XML。但是,如果flowVars是将信息传递给私人流程的最佳方式,那么我不介意。只是想知道最佳实践。
答案 0 :(得分:0)
出于记录目的,我将使用日志记录拦截器,如下所述:
http://www.mulesoft.org/documentation/display/current/Using+Interceptors http://www.mulesoft.org/documentation/display/current/Java+Component+Reference
如果您有更通用的内容,例如在数据库中发送电子邮件或保留信息,您可以在会话变量中放置和发送信息。这样,那些耗时的任务不会阻碍你的主流。
问候。