1

我需要以编程方式启动或停止来自另一个流的流或端点。这可以做到吗?有消息丢失的风险吗?

<flow name="control>
  <vm:inbound-endpoint path="in">
  <script:component>
    <!-- start/stop -->
  </script:component>
</flow>

<flow name="startable-stoppable>
  <any-transport:inbound-endpoint/>
  <component/>
</flow>
4

2 回答 2

3

经过一些研究,我发现在我的情况下,最好的选择是启动/停止与我想要控制的端点关联的连接器。

<script:component>
  <script:script engine="groovy">
    muleContext.getRegistry().lookupConnector('connectorName').start() // or stop()
  </script:script>
</script:component>

这种方法的一个缺点是与连接器关联的所有端点都会受到影响。如果这是一个问题,每个端点都应该有自己的连接器。

于 2012-10-25T23:06:25.730 回答
0

您可以使用 JMX 控制 Mule 移动部件的生命周期:使用 JConsole 找出您需要从脚本组件访问的 MBean。

于 2012-10-19T03:13:50.503 回答