Layer7 API Management

  • 1.  Native MQ delivery options

    Posted Jan 05, 2018 06:28 AM

    Hi,

     

    I am looking for native MQ delivery options like delaying the message delivery to native MQ by 'x' milliseconds.  I am using IBM MQ in my environment where I will place all the messages from Gateway policy using 'Gateway Route via MQ Native' assertion.  My intention is to delay the delivery by 'x' seconds every time I put message to the queue.  Appreciated if you could provide some thoughts around this.

     

    Regards

    Chaitanya



  • 2.  Re: Native MQ delivery options
    Best Answer

    Posted Jan 08, 2018 09:58 AM

    Hi,

    There are not out of the box functionality for a delay as you are requesting. There is a customer assertion called Delay Assertion and here is the description for it.

    The delay assertion is a very simple assertion that effectively causes the execution of the policy to sleep for a given time. The assertion can be useful in testing and development whenever some latency needs to be simulated. This assertion is not intended for production usage.

    If this is something you are looking for, please open a support issue so the support engineer can get you an approval to use the assertion

    Hope this helps

    Thanks

    Abs



  • 3.  Re: Native MQ delivery options

    Posted Jan 10, 2018 12:47 PM

    Thank you Abbas,

     

    I heard about this assertion however it is not intended to use in production.  I would like to delay the message drops/pickup.  As per my requirement inbound flow pushes more number of requests to queue, so I have to pick them in such a way that when I am process one message of same id then I should not pick any other update/message/request of same ID until the processing is done for previous message.  To solve this problem only way I have is to introduce delay either at push/get message to/from queue. 

     

    Note: Flow is completely asynchronous so it is difficult to control inbound message flow.



  • 4.  Re: Native MQ delivery options

    Broadcom Employee
    Posted Jan 10, 2018 08:28 PM

    Just a thought, you might think of using apply rate limit assertion to control the inbound requests.

    Apply Rate Limit Assertion - CA API Gateway - 9.2 - CA Technologies Documentation 

    It's not a direct solution, but could be a work around for your use case.