Try PubSub+

"Guaranteed Message Publish Window Size" with (Solace) JMS

Mike13Mike13 Member Posts: 24

Hi there
In one of our applications we use the com.solacesystems.sol-jms (version 10.6.4).
I want to configure publishing as described in
https://solace.com/blog/understanding-guaranteed-message-publish-window-sizes-and-acknowledgement/
I found this:
https://docs.solace.com/Solace-JMS-API/Message-Delivery-Propert.htm#jms_properties_39190069_303737
Is there a way to do that programmatically? Something like (this example does not seem to work):


SolConnection solConnection = (SolConnection) connection;
solConnection.getJCSMPProperties().setProperty(JCSMPProperties.PUB_ACK_WINDOW_SIZE, Integer.valueOf(255));

Best regards
Mike

Tagged:

Comments

  • Mike13Mike13 Member Posts: 24
    edited March 16 #2

    Some additional information:

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

    Hi @Mike13,
    The Solace JMS API supports JMS version 1.1 which only supports a synchronous sends, so essentially waiting for an ack before returning. Because of this the Solace JMS API only allows for a window size of 1 when publishing persistent messages. As you've found, you can change the window size for non-persistent messages. This is a bit more clear when modifying the Publisher Window Size (msgs) property in the JMS Connection Factory settings in PubSub+ Manager.

    A few other notes:

    • The property you refer to at this link is for the consumer side only. Not publishing.
    • Another option would be to use the Solace JCSMP API if you need to publish persistent messages in a larger window size.

    @Ragnar please feel free to chime in if I slipped up anywhere :)

  • Mike13Mike13 Member Posts: 24

    Hi @marc
    Thank you for your reply!
    We will now switch to non persisted for messages where possible.
    Solace JCSMP API is unfortunately currently not a variant.
    Best regards
    Mike

Sign In or Register to comment.