Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 8 Advanced Features : Preregistering a Subscription Service

Preregistering a Subscription Service
TIBCO Rendezvous supports preregistration for RVCM sessions. In some situations, a sending RVCM session can anticipate the request for certified delivery from a (listener) persistent correspondent that has not yet registered.
Consider an example in which a database program (DB) records all messages with the subject STORE.THIS. The program DB creates an RVCM session that instantiates a persistent correspondent named DB_PER. All programs that send messages with the subject STORE.THIS depend on this storage mechanism.
One such sending program is JAN. Whenever JAN starts, it can anticipate that DB_PER will request certified delivery of the subject STORE.THIS. Suppose that JAN starts, but DB is not running, or a network disconnect has isolated JAN from DB. Anticipating that it will eventually receive a registration request for STORE.THIS from DB_PER, JAN makes an add listener call.
The sending RVCM session in JAN behaves as if it has a certified delivery agreement with DB_PER for the subject STORE.THIS; it stores outbound messages (on that subject) in its ledger. When DB restarts, or the network reconnects, the sender RVCM session in JAN automatically retransmits all the stored messages to DB_PER.
It is not sufficient for a sender to anticipate listeners; the anticipated listening programs must also require old messages when they create RVCM sessions.
Two methods in the SDK support this behavior:
MPublisher::preRegisterListener() and MPublisher.preRegisterListener().
MPublisher::unRegisterListener() in and MPublisher.unRegisterListener().
See the API documentation for more information.
The SDK supports endpoint types (TIBCO Rendezvous publishers and subscribers, TIBCO Rendezvous CM publishers and subscribers) that result in preregistration of the specified listener.
If you changed the subject through the MPublisher method setDestination(), the publisher with the new subject will be unaware of any preregistration done previously through the API or the TIBCO Designer software.
For TIBCO Enterprise Message Service sessions, it is possible to unregister an inactive durable subscriber by calling MPublisher.unRegisterListener().

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved