Disallowing Certified Delivery
Motivation
Consider a CM listening correspondent in a program that has stopped and is unlikely to restart. The CM sender transport continues to store and hold messages for the listener in its ledger file. The sending program can explicitly disallow the listener, clear the listener’s registration from its ledger, and avoid the CM overhead associated with that listener.
Do not disallow listeners as a strategy to control the growth of ledger files in an unstable environment. For this purpose set the CM message time limit.
Process
As described in Registration, CM transports automatically accept all registration requests. This is true except when a CM sender transport explicitly disallows certified delivery to a listening correspondent.
Calls in Disallow Listener Calls disallow a listening correspondent; these calls cancel existing certified delivery agreements with the listening correspondent (on all subjects), and cause the CM transport to automatically deny subsequent registration requests from the listening correspondent.
When a CM sender transport has disallowed a listening correspondent, the events connected with registration do not occur. Instead, the CM sender transport notifies the listener transport that the request is disallowed. When the listening transport receives the rejection notice, it presents a REGISTRATION.NOT_CERTIFIED advisory.
Disallowed listeners still receive subsequent messages from this sender, but delivery is not certified. The disallowed listener does not receive the initial message (the one that triggers the disallowed registration and rejection notice); it receives subsequent messages without certification.
Allow listener calls supersede the effect of a previous disallow listener call, allowing subsequent registration requests from the listener transport to succeed.
C |
|
C++ |
|
Java |
|
.NET |
|