我想知道在使用websphere MQ和WCF时我们如何确保消息持久性。我希望能够让我的WCF流程从队列中挑选消息,如果存在应用程序遇到的问题(断电等),我不会丢失消息。如果可能的话,我也不想使用事务,因为我想消除分布式事务。
谢谢,
取值
答案 0 :(得分:2)
嗯,有交易和分布式交易。 “正确”的答案是在这里使用WMQ 1阶段提交。这不具备XA事务的复杂性,但它确实使您能够回滚消息而不会丢失它。实际上,在使用客户端时,您确实应该使用至少一阶段提交,以防止丢失消息。
除此之外,总是存在“使用lock-with-lock,delete-message-under-cursor”方法。我非常确定您在浏览,锁定和删除所需的一切都在.NET下公开,但Shashi可能会评论和确认。
答案 1 :(得分:2)
WebSphere MQ WCF自定义渠道具有“Assured Delivery”功能,可确保服务请求或回复得到处理而不会丢失。这是WMQ中的1阶段提交(也称为SYNC_POINT)。
“Assuered Delivery”是服务合同属性。 Here是有关该功能的更多详细信息。