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。再次感谢您的宝贵建议。