Try PubSub+

NonDurable TopicEndpoint Creation with Connection Factory for JMS API

SasikumarSPSasikumarSP Member Posts: 15

Hi All,

JMS Connection Factories can be created for each msg-VPN in Solace. This can be used to maintain/configure JMS connection properties administratively instead of API code.

JMS applications can listen to Solace topic directly for both guaranteed and for non-guaranteed message delivery.

When a JMS connection subscribe to topic with "Direct Transport" enabled Connection Factory (CF) then its non-guaranteed message delivery.

The nonDurable TopicEndpoint (temporary TopicEndpoints) get created if JMS application listen to topic with connection factory Direct Transport is disabled. Message get delivery till the subscriber is online.

The best practice is to create two connection factories (one with direct transport enabled and another one with disabled) for each msg-VPNs.


  • marcmarc Member, Administrator, Moderator, Employee Posts: 336 admin

    Thanks for sharing @SasikumarSP!

    I just want to clarify to others that you're referring to the "Direct Transport for Non-persistent messages" option on JMS Connection Factories and that it only affects Non-persistent messages :)

  • TamimiTamimi Member, Administrator, Employee Posts: 146 admin

    Thanks for contributing to the tips and tricks @SasikumarSP !

  • SasikumarSPSasikumarSP Member Posts: 15


    As per my understanding, this can be used for persistent messages too but we need to be aware that nonDurable TEs are temporary and messages get lost if the subscriber disconnect from solace.

    The advantage of using this nonDurable TEs to get guaranteed delivery of messages and deduplication as long as the subscriber is online.


  • marcmarc Member, Administrator, Moderator, Employee Posts: 336 admin

    Hi @SasikumarSP,

    Sorry, I probably should have provided more info in my explanation. To clarify, the "Direct Transport for Non-persistent messages" option will not affect apps that create a Durable subscription in JMS or publish persistent messages.

    You are correct that a JMS app using a Non-Durable TE can receive both messages published as non-persistent or persistent.

Sign In or Register to comment.