Mule:轮询数据库连接器的多个表

时间:2015-05-18 06:02:33

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

需要轮询数据库连接器的多个表。尝试使用复合源

对表应用单独的轮询时
<composite-source>
   <poll>
     <db:select config-ref="databaseConnector"/> <!--select on table 1-->
   </poll>
   <poll>
     <db:select config-ref="databaseConnector"/> <!--select on table 2-->
   </poll>
</composite-source>

获取错误轮询器已在端点uri上注册。如何使用数据库连接器轮询多个表以获取更新的数据。

2 个答案:

答案 0 :(得分:2)

使用三个流程:

<flow name="poll-table-1">
  <poll frequency="...">...</poll>
  <flow-ref name="table-data-processor" />
</flow>

<flow name="poll-table-2">
  <poll frequency="...">...</poll>
  <flow-ref name="table-data-processor" />
</flow>

<flow name="table-data-processor">
  ...
</flow>

答案 1 :(得分:0)

您可以尝试以下方式: -

<composite-source>
        <poll frequency="10000" doc:name="Poll">
        <processor-chain > 
         <db:select config-ref="Oracle_Configuration" doc:name="Database">
            <db:parameterized-query><![CDATA[select * from Table1]]></db:parameterized-query>
        </db:select> 
         <logger level="INFO" message="Your Payload from Table1:- ....." doc:name="Logger"/>

        <db:select config-ref="Oracle_Configuration" doc:name="Database">
            <db:parameterized-query><![CDATA[select * from Table2]]></db:parameterized-query>
        </db:select>
         <logger level="INFO" message="Your Payload from Table2:- ...." doc:name="Logger"/>
         </processor-chain>
        </poll>
</composite-source>
         <logger level="INFO" message="The remaining flow " doc:name="Logger"/>

这对我来说很好用:))