Kbase P95083: SonicMQ Adapter: Subscriber does not receive messages that were sent before it connected to the Soni
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  20/09/2004 |
|
Status: Unverified
FACT(s) (Environment):
SonicMQ
FACT(s) (Environment):
Progress 9.x
FACT(s) (Environment):
OpenEdge 10.x
SYMPTOM(s):
Subscriber failed to receive messages published to its Topic.
Subscriber was disconnected from the SonicMQ Adapter when the messages were published.
CAUSE:
The Subscriber was not Durable. Only durable Subscribers will receive messages that are published when they are not connected. The reason it was not Durable is because the subscriptionName parameter of the Subscribe method is empty. For example:
RUN subscribe IN pubsubsession ("GolfTopic", /* Name of Topic */
"", /* Subscription Name */
?, /* Message selector */
no, /* Receive own messages too */
consumerH). /* Handles the incoming messages*/
FIX:
To make a 4GL Subscriber Durable, you must provide a subscription name to the Subscriber method.
You do not need to configure the Durable Subscription on the SonicMQ Broker as it will get created automatically when the Subscribe method runs with a value in the Subscription Name parameter of the subscribe method. For example:
RUN subscribe IN pubsubsession ("GolfTopic", /* Name of Topic */
"test", /* Subscription Name */
?, /* Message selector */
no, /* Receive own messages too */
consumerH). /* Handles the incoming messages*/