2013-03-04 15 views
2

我正在開發一個獨立的Java應用程序,它從一個MQ隊列獲取幾條消息,處理消息中包含的數據,然後將新消息放入另一個MQ隊列。其中一個要求是GET和PUT操作在同一個工作單元內,我可以通過指定MQGMO_SYNCPOINTMQGMO_SYNCPOINT get/put消息選項來完成此操作。使用Java API顯式提交或回滾MQ工作單元

我不明白如何使用Java MQ API執行MQCMIT和MQBACK操作來顯式提交或回滾MQ工作單元。

我已經在IBM MQ信息中心網站和JavaDoc上進行了搜索,但是在用於提交和回滾工作單元的API上找不到任何內容。

我使用的WebSphere MQ版本是7.5,我正在使用綁定模式連接到隊列管理器。

任何人都可以提供一些示例代碼,說明如何使用Java MQ API顯式提交或回滾MQ工作單元,或者請指點適當的JavaDoc頁面?

回答

5

的基本流程是,當你在一個事務中發送的消息將在緩衝區保持消息,直到提交或回滾被稱爲:如果執行則消息被髮送提交,否則會被丟棄。

以下是使用JMS API的從Novell的樣本應該是一樣的WebSphere MQ,如果你使用JMS API:

http://www.novell.com/documentation/extend52/Docs/help/MP/jms/tutorial/txSession-1.htm

UPDATE: 下面是另一個問題StackOverflow上有犯/回滾使用WebSphere MQ的API代碼:

java websphere MQ

+0

謝謝 - 我也許應該做它在原來的問題清楚,但是這是一個獨立的應用程序,並且沒有使用JMS。 – 2013-03-04 19:04:31

+0

@PaulH更新爲包含Websphere MQ特定代碼示例。 – ahjmorton 2013-03-04 19:08:07

+0

+1用於查找其他SO問題。我忘了那個! – 2013-03-04 21:04:26

1

MQQueueManager中使用commit()方法。