Durable topic subscription

rdesoju Member Posts: 66
edited January 2020 in PubSub+ Event Broker #1


In JMS world, we can have a topic and while connecting to the topic we can mention from the subscriber end to be a "durable" or "nondurable" subscriber.

However, on solace side, when I created a topic from CLI by default it provisions a "durable" topic it seems. How can I control subscription type from client side here, i.e. is there a provision to "add durable subscription" or "non-durable subscription" while creating a JCSMP client?

What kind of subscription be added when we use "session.addSubscription()"?

Is there a command to view active subscriptions from CLI?


Best Answer


  • Aaron
    Aaron Member, Administrator, Moderator, Employee Posts: 487 admin

    Hey Raghu. In CLI or the PubSub+ Manager, you can only provision Durable Topic Endpoints... those are used when wanting to create a durable subscription in JMS. When the client binds to the endpoint (aka named subscription), it specifies the topic subscription it wants to inject and this gets added to the endpoint.

    For non-persistent subscriptions, nothing needs to be configured on the broker. Solace is entirely dynamic in this way. When the API subscribes to a non-persistent topic, the subscription is simply added to the client. If you're using CLI, do show client * subscriptions to see all clients and their non-persistent subscriptions. Or if in the PubSub+ Manager, simply double-click on a particular client and navigate to their subscriptions.

  • rdesoju
    rdesoju Member Posts: 66

    Thank you @Aaron, I was able to figure out the way to add a durable subscription to a durable topic.

  • rdesoju
    rdesoju Member Posts: 66

    JCSMPFactory.onlyInstance().createDurableTopicEndpointEx(); solved my problem.