Im reading the pdf tib_ems_user_guide.pdf to prepare for an upcoming project (a project on TIBCO ESB). I got no further than the intro when I ran into what I perceived as a contradiction. I realized i am not grasping this concept. (I read a little further into it and could not find answers)
Starting on Ch1 (pg4) under the Publish and Subscribe section, I talks about "Shared Subscriptions":
Shared subscriptions are created with a specific name, and optionally a client ID. Consumers sharing the subscription specify this name when subscribing to the topic.
For example, the topic foo might have the following subscriptions:
• not shared, non-durable subscription.
• not shared, durable subscription
• shared, non-durable subscription called mySharedSub with three shared consumers
• shared, durable subscription called myDurableSharedSub with two shared consumers
If a message is received on foo, each of the above four subscriptions receive that same message. For the shared subscriptions mySharedSub and myDurableSharedSub, the message is delivered to only one if its respective shared consumers.
If the shared consumers of the shared durable subscription myDurableSharedSub are closed, then the shared durable subscription continues to exist and accumulate messages until it is deleted, or until the application creates a new durable shared consumer named myDurableSharedSub to resume this subscription. If the shared consumers of mySharedSub are all closed, the subscription is removed from topic foo.
My Questions are...
- What is the point of the "speceific name" for a subscription. Dont you need each subscription in a topic to have some sort of specific name so that you can reference it when subscribing to it? Or is it more you subscribe to a topic and it will systematically figure out which subscription to subscribe you to unless you specify.
- What would a client ID do?
- Why would a subscription called "shared" only deliver its messages to one of its consumers? That seems backwards to me.
Thanks for your help,
Mingman