【问题标题】:Mule: Invoking a flow multiple times with different parametersMule:使用不同的参数多次调用流
【发布时间】:2015-04-28 05:41:20
【问题描述】:

我有这段代码要重构,其中包含多个执行相同任务的流程。计划将其修改为以迭代方式执行的通用流程,并使用不同的启动参数。我如何在 mule 中实现这一点。

ex:
<flow name="flow1">
    <db:select/>//some specific query for retrieval from  database
    <expression-component/> Exceutes some specific method of spring bean
</flow>

与流程 1 类似,有许多流程执行相同的逻辑,从某个表中检索数据并根据查询执行 bean 方法。如何将此代码重构为通用流程,以便它使用初始化参数(表名,要执行的方法)迭代执行。

【问题讨论】:

  • 您是否要执行来自同一数据库组件的不同流的不同 sql 查询??

标签: mule mule-studio mule-component mule-el


【解决方案1】:

1.没有必要让它通用,你最终会得到相同数量的节点共享相同的数据库连接

2.使其通用 2.1 在调用这个流之前创建一个同名的流变量(无论你在哪里调用) 2.2 流量变量值有查询 2.3 在

中访问流变量值

【讨论】:

    【解决方案2】:

    您可以做的是,您可以创建一个包含 DB 组件的子流,该子流将从不同的 Mule 流中调用并执行 DB 组件,该组件将使用包含动态 SQL 查询的流变量......像下面这样:-

    <db:select config-ref="Generic_Database_Configuration">
      <db:dynamic-query>#[flowVars.selectQuery]</db:dynamic-query>
      </db:select>
    

    这里#[flowVars.selectQuery] 将填充来自不同流的不同SQL 查询

    【讨论】:

      猜你喜欢
      • 2013-10-21
      • 1970-01-01
      • 1970-01-01
      • 2012-01-17
      • 2022-01-04
      • 2011-08-24
      • 1970-01-01
      • 2014-02-05
      • 1970-01-01
      相关资源
      最近更新 更多