we are debugging a production issue on our Weblogic Server hosting JMS queues.
开发者_如何学JAVAAt high load times, we have been told the JMS queues reject incoming messages due to a limited number of connections. This is a guess by the system admins.
We are running with default production settings, so does anyone know what default value will the JMS throttle incoming connections if anything such exists?
Or is it limited by OS resources such as TCP sockets and number of file descriptors?
I'm not aware of a setting limiting the number inbound connections, but it would not surprise me to know that there is a practical limit. See "Controlling Message Production" in the docs. http://download.oracle.com/docs/cd/E21764_01/web.1111/e13814/jmstuning.htm There are lots of configurations that can slow down production of messages when a message backlog exists (Flow Control on the Connection Factory).
Also, to validate the theory, you can look at the YOURDOMAIN -> Services -> Messaging -> JMS Server -> YOURJMSSERVER in the console to see the high point in the number of connections.
The Configuration -> Thresholds and Quotas shows the thresholds for the high number of bytes and high number of messages for a JMS Server, but it does not limit the connections.
The Monitoring tab shows lots of other information. For example, Active Connections will show all connections to the JMS Server. Using "Customize this table" you can add attribute columns . This area shows you all the active connections, and the sessions high count.
Using Work Managers with a Max Threads Constraint in conjunction with MDBs for example, you can limit the number of consumers for an MDB (16 per MDB is the default).
精彩评论