java - WMQ/JMS no lost and duplicated messages principle -


If the JMS client application requires such that a message can not be lost and no duplicate has been sent for processing. And each message is unrelated to other messages (no batch processing), which combines these requirements: - Persistence + Auto-approved session mode (Asynchronous Consumer) - Persistence + Client-Acceptable Session Mode - Strength + Transaction Session - Any other? I have read about Transact Session and AK mode (for example here and here) and I think all three possibilities are acceptable. Do you agree? What would be the advantage of using more advanced concepts of transdession sessions or credibility?

Thanks in advance!

If you are talking to a JMS transport provider on the network, use of transacted sessions And make sure that the app has detected fake messages and worked beautifully. Why? See the Duplicate Product of 4.4.13 message in the section, which states:

If a failure occurs during a session, then the customer works the session And gives the committed method, the customer can not determine whether the transaction was committed or was brought back. The same ambiguity exists when failure of a specific message arises from the dispatch-sending and withdrawal method.

In order to deal with this ambiguity, it is a JMS application. In some cases, this could be the reason for a client to produce a duplicate message functionally.

Repeated message due to session recovery is not considered duplicate message.

An application that issues a COMMIT over the network if the app indicates that the connection has been broken, how will it be known that the API What happened after reaching the transport provider before or after the call? If the app was sending a message, the only safe thing is that it believes that COMMIT failed and sent the message again. In the same way, if an app receiving the message receives an error on COMMIT , then the message will be visible again if it is actually However, the app can not assume that it was brought back and rejected the message that has just been received, because its lost message could be.

Should not be fooled by WMQ or any other JMS transport provider, but an ambiguity presented by the network, the application may be a fraud, it is the best case to handle transposed sessions and the app is better Handle Duplex. The worst case is that outside of a transaction session, opacity may result in an app drop-out message.

Comments

Popular posts from this blog

Verilog Error: output or inout port "Q" must be connected to a structural net expression -

jasper reports - How to center align barcode using jasperreports and barcode4j -

c# - ASP.NET MVC - Attaching an entity of type 'MODELNAME' failed because another entity of the same type already has the same primary key value -