2013-03-09 69 views
3

從一般計算機科學的角度來看 - 當我們從邏輯意義上考慮隊列時 - 我們認爲能夠「窺視」隊列中的第一項。JMS是否有隊列窺視的概念?

當我看着JMS API--它有一個MessageListener--它有一個OnMessage()方法。這感覺有點像「不要打電話給我們,我們會打電話給你。」

JMS是否有隊列窺視的概念?

+0

您打算如何使用此功能?您可以閱讀郵件並將其回滾,以便再次在隊列中看到郵件。 – 2013-03-09 23:52:48

+0

謝謝@PeterLawrey - 如果你可以發佈一個鏈接到這個例子,那麼我會將它標記爲已回答。 – hawkeye 2013-03-10 00:51:34

+0

關閉自動提交。這要求你對他們的commit()消息或者回滾它。我不知道有什麼好的例子,但谷歌可能會有所幫助。 – 2013-03-10 03:09:17

回答

2

1)如果你想接收郵件synchroneously使用MessageConsumer.receive

2)基本上,在隊列「偷看」是指返回,但不移除,隊列的頭。 爲此,您可以使用QueueBrowser查看隊列上的消息而不刪除它們。

0

JMS有一個QueueReceiver,它接收消息。您可以將MessageListener設置爲此QueueReceiver以通知新消息。