How to set Solace properties with Boomi?

sjaak
sjaak Member Posts: 109 ✭✭✭

I want to set properties in a Boomi process like SOLACE_JMS_PROP_DEAD_MSG_QUEUE_ELIGIBLE. I have added it as custom JMS operation property but that doesn't seem to work. Another example is TTL. Is there any documentation on how to set Solace properties in a Boomi process?

Tagged:

Answers

  • swenhelge
    swenhelge Member, Employee Posts: 80 Solace Employee

    Hi,
    This is more of a Boomi than a Solace challenge ... I found this article explaining how to manually set these properties in a process:
    https://community.boomi.com/s/article/extendingjmsconnectoroperation
    Maybe this helps?

  • hong
    hong Guest Posts: 480 ✭✭✭✭✭

    @sjaak Did your question get answered? If yes, can you please accept the answer by clicking "Yes" in the line above "Did this answer the question?"? Thanks!

  • sjaak
    sjaak Member Posts: 109 ✭✭✭

    Hi @svenhelge,
    You can set standard and custom JMS properties with Boomi. The standard properties are:

    • Correlation ID
    • Destination
    • Message Type
    • Message Class
    • Priority
    • Reply To

    I need to re-test but setting Solace properties using the JMS custom property feature doesn't work yet. It migth be that I'm using an incorrect name for the property in Boomi. For example, should I use "SOLACE_JMS_PROP_DEAD_MSG_QUEUE_ELIGIBLE" or "Dead Message Queue Eligible"?

  • Naga
    Naga Member Posts: 58

    Hi Sjaak,
    If you are fine with Boomi http connector then you can set the solace specific headers as below:

    Solace-Time-To-Live-In-ms:
    Solace-DMQ-Eligible: <true/false>
    Solace-Delivery-Mode: <Persistent/Non-Persistent>
    Solace-Timestamp:

  • sjaak
    sjaak Member Posts: 109 ✭✭✭

    Hi Naga,
    Thanks for the update. We want to use JMS due to guaranteed delivery requirements.

  • Naga
    Naga Member Posts: 58

    Even with REST you can achieve guaranteed delivery.

  • sjaak
    sjaak Member Posts: 109 ✭✭✭

    Yes, you are right. I didn't explain it well. What I actually mean is that we want to implement the Boomi process as a realtime listener process with, for example, 5 auto-retries. That is only possible with JMS I believe.

  • Naga
    Naga Member Posts: 58

    Hi Sjaak, While sending data to solace you can use http connector and set the properties like mentioned above.
    While receiving messages from Solace you can configure JMS connector as listener. If your listener process fails Solace will try to redeliver the message 5 times(if max re-delivery property on solace queue is configured as 5). After all the attempts are exhausted messages will be moved to DMQ.
    You need to enable transactions option on JMS connector else solace will treat the message as Unacknowledged in case of process failure.

  • sjaak
    sjaak Member Posts: 109 ✭✭✭

    Technically we could use the HTTP connector to send data and the JMS connector to listen for new messages. However, your Boomi license costs for Solace will double by doing this. Not a real option in practice.

    Regarding the transaction option: this is currently not supported by the Solace JMS connector, which we prefer instead of the generic JNDI connector. JNDI is very limited compared to the branded connector: it does not support dynamic queues and subscribers, wild cards and the ability to Solace properties (TTL etc) on message level. We are therefore waiting for a new version of the branded Solace JMS connector.