2012-10-08 128 views
0

如何獲取Mule ESB vm入站端點中的消息數來自代碼的隊列?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

即可以使用下面的自定義代碼來實現:

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

+0

作品好。謝謝。 –