3 Replies Latest reply on Oct 22, 2013 7:36 PM by Prasanna G

    Throttling not working as expected in JMS Adapter

    Prasanna G

      I have an ESB consumer (Name: ConsumerESB), which picks messages from a weblogic JMS queue and routes them to a BPEL process (InvokedBPEL).
      The queue will get bulk messages of 5000 requests at a time and I need to implement throttling to process requests slowly.

      Here is what I have set.

      For the adapter .esbsvc file, I had set

      minimumDelayBetweenMessages - 3000 (3 secs delay should be there between each message)
      adapter.jms.receive.threads - 1
      DequeueTimeOut - 3

      According to the above setting, I am expecting, one request to be sent per second and a three second delay between any two messages.
      But I don't see that happening, I thinking I am getting something like 4-5 requests per second.

      Throttling does not seem to be working.

      Later I tried the following options:
      (for adapter .esbsvc)
      minimumDelayBetweenMessages - 10000
      adapter.jms.receive.threads - 1
      DequeueTimeOut - 10

      (for routing rule .esbsvc) --- Do I need this setting for esbsvc of routing rule?
      minimumDelayBetweenMessages - 5000
      DequeueTimeOut - 5

      Now I am seeing one request per second.

      Can you please let me know how can I get a perfect 3 second delay between messages.