What is the per-requisite to set JMS bridge batch size in weblogic 10.3.3
Customer setting in production:
QoS --> Exactly once
Asynchronous Mode Enabled --> True
Batch Size --> 1 From weblogic console
"A messaging bridge instance provides transaction semantics when the QOS is Exactly-once. This envelops a received message and sends it within a user transaction (XA/JTA)." From documentation
Changing the Batch Size
When the Asynchronous Mode Enabled attribute is set to false and the quality of service is Exactly-once, the Batch Size attribute can be used to reduce the number of transaction commits by increasing the number of messages per transaction (batch). The best batch size for a bridge instance depends on the combination of JMS providers used, the hardware, operating system, and other factors in the application environment. See “Configure transaction properties” in Administration Console Online Help.
Can batch size be set when Asynchronous Mode Enabled --> True ? If yes, what can be the optimal batch size in a production environment ?
Right now application works fines for non-batch orders from CRM. When customers submit batch of 500 orders during specific hours of the day, lot of messages get queued up affecting the order completion rate.
Edited by: murali_ora123 on May 22, 2013 6:28 AM
Edited by: murali_ora123 on May 22, 2013 6:34 AM
BatchSize does not take effect in async mode.
What is the provider of your source destination? If it is not WLS JMS destination, your bridge may actually work in sync mode although you have configured it to work in async mode. In order to work in async mode for exactly-once QOS, a WLS proprietary feature is needed. We should see a log message in your server log file when the switch to the sync mode happens.
If your bridge is indeed work in sync mode, you need to tune your batch size and batch interval to find the best performance for your application load condition. BatchInterval helps you send a batch before the batch is filled with the number of messages defined by batch size.
Hope this helps.