0

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

谢谢你。

4

1 回答 1

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

于 2012-10-08T11:27:26.387 回答