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

Mule ESB VM入站端点队列中的消息数,mule,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-endp

如何从代码中获取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"/>

...

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

VMConnector vmConnector = (VMConnector) muleContext.getRegistry().lookupConnector("queue.vm.connector");
vmConnector.getQueueManager().getQueueSession().getQueue("inbound_parcel.create.queue").size();
如果队列持续存在,则可以通过监视存储消息的文件夹来实现相同的结果:

${MULE\u HOME}/.MULE/${app.name}/queuestore/inbound\u packet.create.queue