Solace and Boomi - Acknowledgement process

Poornima
Poornima Member Posts: 25
edited January 2021 in General Discussions #1

Hi,
I need some guidance and help regarding acknowledgement process of Solace.
1.I have Boomi process which gets input (payload) from external system and sending xml to Solace topic.Here how to acknowledge the source system the message is received in Solace in success. What settings are to be done in Solace Pubsub + connector (Boomi)
2. Another part . Boomi process reads from queue and sends to destination. in case of success destination gets data but in case of failure how can i notify Solace queue this message is failed in destination so it can be retained in queue or dead letter queue.

Can any one please guide /suggest your ideas/thoughts.

Comments

  • cmorneau
    cmorneau Member, Employee Posts: 11 Solace Employee

    Hi Poornima,
    I'll attempt to answer your second question first. Your start shape needs to be a Solace LISTEN operation configured with the Persistent Transacted mode. This is the configuration that supports acknowledgements based on process completion state. Messages read by the LISTEN are acknowledged only after having gone through the entire process successfully.
    At the end of your process, the SEND operation needs to either be configured as Persistent Transacted or Persistent Non-Transacted. The SEND's persistent modes ensure messages are successfully published to Solace before the process can terminate successfully.

    Back to your first question, I'll assume your start shape is not a Solace connector and that your process ends with a Solace SEND. The SEND needs to be configured with a Persistent mode (same as other question). As for the start shape, the connector you use needs to support the equivalent of the Solace LISTEN Persistent Transacted mode explained above. From what I know, only LISTEN operations can track process execution states.

  • Poornima
    Poornima Member Posts: 25

    @cmorneau Thanks a lot for your guidance, It worked great. I need one more suggestion from you. I want to test the scenarios of - how can I forcefully push messages to dead letter queues. Even if I made destination system connection info wrong the message still stays in queue, I want to forcefully test dead letter queue messages to move around to main queue.

    How can I push messages to dead letter queues? how can I do that? any properties to be set ?

  • cmorneau
    cmorneau Member, Employee Posts: 11 Solace Employee

    Do you want your Boomi process to publish directly to a dead letter queue, or do you want messages to be delivered to a dead letter queue after a number of redeliveries/failures?
    Assuming the latter, you want to either enable "Create Queue and Topic Subscription" (see option's help bubble) on your operation or manually create the dead message queue #DEAD_MSG_QUEUE.
    Note that the connector does not support assigning an arbitrary DMQ. The default DMQ mentioned above must be used.

  • Poornima
    Poornima Member Posts: 25

    messages need to delivered to DLQ after number of retries. you mean - I have option create queue and topic subscription in Solace Pubsub connector operation did checking tht will be sufficient?

  • cmorneau
    cmorneau Member, Employee Posts: 11 Solace Employee

    Yes, this should suffice. Checking this option automatically creates the #DEAD_MSG_QUEUE for you.
    The #DEAD_MSG_QUEUE acts as a default DMQ for all queues.

  • Poornima
    Poornima Member Posts: 25

    will I be able to see dead message queue count in solace console? I enabled option n did it still I could see message stays in original queue .

  • cmorneau
    cmorneau Member, Employee Posts: 11 Solace Employee

    The #DEAD_MSG_QUEUE will show up in the web console just like any other queue. You'll see its message count.
    In order for a message to be moved to the DMQ, the message needs to be DMQ eligible and the Maximum Redelivery Count configured on the queue needs to be exceeded. See DMQ docs
    If your operation is a LISTEN, it needs to be configured as either Persistent Non-Transacted, or Persistent Transacted.

  • Poornima
    Poornima Member Posts: 25

    Thank you @cmorneau . I got access type mismatch in Solace Pubsub connector.. So checking on it

  • cmorneau
    cmorneau Member, Employee Posts: 11 Solace Employee

    This is likely because the connector tries to create the queue but it already exists with a different access type (exclusive vs non-exclusive).
    The connector tries to create an exclusive queue when configured with maxConcurrentExecution = 1 and non-exclusive when configured with maxConcurrentExecution > 1.

  • garlapatishyam
    garlapatishyam Member Posts: 1

    Hi, I would like to know how to retain only failure messages if we provide boomi listener batch size is 100.

    If one of the message is failed, all the messages (Batch of 100 )are retained. But this is not the expected scenario.

    Can anyone provide your suggestions on this. Any additional configurations we need to change in solace?