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

Mule:对数据库连接器的多个表进行轮询,mule,mule-studio,mule-component,mule-el,mule-cluster,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"/> <

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

<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上注册的错误轮询器。如何使用数据库连接器轮询多个表以获取更新的数据。

您可以尝试以下方法:-

<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"/>

这对我来说很好:)

使用三个流:

<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>

...
...
...

使用单一轮询将有一个问题,即我们无法为不同的表指定不同的轮询器配置。我需要使用水印来识别上次加载后插入的数据。水印的配置也将是所有表的配置。有没有一种方法可以为多个表指定不同的轮询器谢谢@David。但为什么单个流不起作用。错误是--connectorexception:在endpointuri:polling:我的解决方案有效吗?不确定单流失败的原因,可能是Mule内部为轮询器创建端点URI的方式,该URI应该是唯一的,但在同一流中的多个轮询器中不是唯一的?我仍在测试代码,面临一些通信故障问题,但在我看来,它与驱动程序相关的问题,一旦完成,将更新它是否工作。是,它正在工作@David。再次感谢您的宝贵建议。