Tibco CM Process

Send Snippet To: Save this snippet to Code Collector Pro -- view all phact's snippets
language: Other
license: Other

Code for Snippet:

 TIBCO Rendezvous Concepts 
Consider an example application system, in which program JOE generates 
important information, and sends it to program SUE in certified messages on the 
subject REMEMBER.THIS. Upon receipt, SUE stores the information in a database. 
If either JOE or SUE terminate unexpectedly, it is crucial that certified messages 
still arrive for entry into the database. To ensure this result, both programs must 
represent persistent correspondents—that is, both programs create CM transports 
with reusable names (JOE_PER and SUE_PER), and each of these CM transports 
keeps a file-based ledger. In addition, SUE requires old messages by setting a 
parameter when creating the CM transport SUE_PER. 
During operation, JOE has sent message number 57 on the subject 
REMEMBER.THIS, but has not yet received delivery confirmation for messages 
53–56. SUE is processing message 53, when a sudden hardware failure causes SUE 
to terminate. Meanwhile, JOE continues to send messages 58–77. 
When the computer restarts, SUE restarts and recreates SUE_PER. The ledger file 
for SUE_PER indicates that message 52 was received and confirmed for the subject 
REMEMBER.THIS. As soon as SUE_PER discovers that JOE_PER sends labeled 
messages on the required subject, SUE_PER requests a certified delivery agreement 
for the subject REMEMBER.THIS. When JOE_PER accepts, JOE_PER retransmits the 
stored messages 53–77 on that subject. 
Notice these details: 
• SUE does not miss any REMEMBER.THIS messages. However, the new SUE_PER 
must gracefully fix any difficulties caused by partial processing of message 53 
by the old SUE_PER. 
• JOE and SUE communicate using a public subject name—not an inbox. Inbox 
names are unique, so they cannot continue beyond transport invalidation. 
• SUE explicitly requires old messages by setting a parameter when creating the 
persistent correspondent named SUE_PER; this parameter ensures that 
JOE_PER retransmits certified messages that the previous instance of SUE_PER 
had not confirmed. If the value of the requireOldMsgs argument were false, 
|Chapter11  Certified Message Delivery 
JOE_PER would delete stored outbound messages for SUE_PER from its ledger, 
instead of retransmitting them.
comments powered by Disqus


Link to this snippet:

Download to Code Collector

To use the direct link to your snippet on CodeCollector.net either copy the html from the above section or drag the Download to Code Collector to where you would like to use it.

More Info:

Times Viewed: 726
Date Added: 2008-03-26 14:21:02
Last Modified: 0000-00-00 00:00:00

Web Analytics