Mule:仅在满足业务需求时使用入站连接器

Mule:仅在满足业务需求时使用入站连接器,mule,mule-studio,mule-component,Mule,Mule Studio,Mule Component,我在mule服务中有这个要求,只有在业务条件成立时,它才应该从入站连接器(流消息源)使用。我需要查看数据库中该条件是否成立,然后只有我的入站连接器才应该开始使用。每次它都应该检查该条件,并仅在条件为真时使用。建议在mule中实现实施的最佳方法 如果不研究您的流程,就很难说出您想要实现的具体内容。。通常,如果您希望入站端点使用并且流正常工作,最好的选择是在入站端点之后放置一个消息过滤器,该过滤器将检查条件并允许消息传递到下一个处理器 因为这里要从数据库中检查条件,您需要的是在入站端点之后放置一个D

我在mule服务中有这个要求,只有在业务条件成立时,它才应该从入站连接器(流消息源)使用。我需要查看数据库中该条件是否成立,然后只有我的入站连接器才应该开始使用。每次它都应该检查该条件,并仅在条件为真时使用。建议在mule中实现实施的最佳方法

如果不研究您的流程,就很难说出您想要实现的具体内容。。通常,如果您希望入站端点使用并且流正常工作,最好的选择是在入站端点之后放置一个消息过滤器,该过滤器将检查条件并允许消息传递到下一个处理器


因为这里要从数据库中检查条件,您需要的是在入站端点之后放置一个DB组件,该入站端点将从DB获取业务条件的值,然后您可以放置消息过滤器或选择路由器,以将消息有效负载传递到下一个Mule组件

,这通常是这样做的使用

该模式在Mule as(并且仅作为)过滤器中实现,其他模式可以实现这一点,特别是路由器和迂回,但更一致的方式是使用过滤器

在Mule的情况下,您有许多过滤器,但是没有现成的基于sql查询的过滤器。这是说。您有许多选择:

  • 在java中,可以将其实例化为注入数据源的Springbean,然后用作WITHAR ref
  • 如果这意味着可重用,则作为模块实现
  • 作为一种解决方法,实现一个子流,该子流利用数据库conctor获取查询结果,然后在流的末尾使用表达式过滤器进行过滤或不过滤

尽管消息过滤器理论上是正确的,但在实践中,这通常是通过使用with SELECT查询来实现的,该查询确定应该在WHERE子句中处理哪些行。您可以将查询放置在流开头的
元素中,以便按计划执行查询,如中所示。

感谢您的回复。我使用的是轮询范围,只有当select查询返回一行时,我的使用者才应该使用。但是,只有当数据库中满足另一个条件(即变频轮询器)并且在运行时也决定了这一条件时,轮询器才应该下次轮询。如何配置轮询器以在运行时确定轮询频率?