Mule模块化/调用私有和子流

时间:2013-12-10 10:43:27

标签: mule

我正在将我的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是将信息传递给私人流程的最佳方式,那么我不介意。只是想知道最佳实践。

1 个答案:

答案 0 :(得分:0)

出于记录目的,我将使用日志记录拦截器,如下所述:

http://www.mulesoft.org/documentation/display/current/Using+Interceptors http://www.mulesoft.org/documentation/display/current/Java+Component+Reference

如果您有更通用的内容,例如在数据库中发送电子邮件或保留信息,您可以在会话变量中放置和发送信息。这样,那些耗时的任务不会阻碍你的主流。

问候。