Table 16–5 lists the connection factory attributes for reliability and flow control.
Table 16–5 Connection Factory Attributes for Reliability and Flow Control
Attribute |
Type |
Default Value |
Description |
---|---|---|---|
String |
0 |
Maximum time, in milliseconds, to wait for broker acknowledgment before throwing an exception A value of 0 denotes no timeout (wait indefinitely). Note – In some situations, too low a value can cause premature timeout: for example, initial authentication of a user against an LDAP user repository using a secure (SSL) connection can take more than 30 seconds. |
|
Integer |
100 |
Number of payload messages in a metered batch Delivery of payload messages to the client is temporarily suspended after this number of messages, allowing any accumulated control messages to be delivered. Payload message delivery is resumed on notification by the client runtime, and continues until the count is again reached. A value of 0 disables metering of message delivery and may cause Message Queue control messages to be blocked by heavy payload message traffic. |
|
Boolean |
false |
Limit message flow at connection level? |
|
Integer |
1000 |
Maximum number of messages per connection to deliver and buffer for consumption Message delivery on a connection stops when the number of unconsumed payload messages pending (subject to flow metering governed by imqConnectionFlowCount) exceeds this limit. Delivery resumes only when the number of pending messages falls below the limit. This prevents the client from being overwhelmed with pending messages that might cause it to run out of memory. This attribute is ignored if imqConnectionFlowLimitEnabled is false. |
|
Integer |
100 |
Maximum number of messages per consumer to deliver and buffer for consumption Message delivery to a given consumer stops when the number of unconsumed payload messages pending for that consumer exceeds this limit. Delivery resumes only when the number of pending messages for the consumer falls below the percentage specified by imqConsumerFlowThreshold. This can be used to improve load balancing among multiple consumers and prevent any single consumer from starving others on the same connection. This limit can be overridden by a lower value set for a queue’s own consumerFlowLimit attribute (see Chapter 15, Physical Destination Property Reference). Note also that message delivery to all consumers on a connection is subject to the overall limit specified by imqConnectionFlowLimit. |
|
Integer |
50 |
Number of messages per consumer buffered in the client runtime, as a percentage of imqConsumerFlowLimit, below which to resume message delivery |