Mule ESB VM入站端点队列中的消息数

时间:2012-10-08 03:51:17

标签: mule

如何从代码中获取Mule ESB vm入站端点队列中的消息数量?

以下是配置:

    <vm:connector name="queue.vm.connector">
    <vm:queue-profile maxOutstandingMessages="${oms.process.flow.max.queue.size}"/>
</vm:connector>

...
<flow name="Flow1"...
<vm:inbound-endpoint exchange-pattern="one-way" path="inbound_parcel.create.queue" responseTimeout="10000" mimeType="text/plain" connector-ref="queue.vm.connector" doc:name="Inbound Parcel Create Queue"/>

谢谢。

1 个答案:

答案 0 :(得分:1)

可以使用以下自定义代码实现:

VMConnector vmConnector = (VMConnector) muleContext.getRegistry().lookupConnector("queue.vm.connector");
vmConnector.getQueueManager().getQueueSession().getQueue("inbound_parcel.create.queue").size();

如果队列是持久的,则可以通过监视存储消息的文件夹来实现相同的结果:

${MULE_HOME}/.mule/${app.name}/queuestore/inbound_parcel.create.queue