The attributes of a connection factory object are grouped into categories described in the following sections below:
Table 16–1 lists the connection factory attributes for connection handling.
Table 16–1 Connection Factory Attributes for Connection Handling
Attribute |
Type |
Default |
Description |
---|---|---|---|
String |
An existing Message QueueTM 3.0 address, if any; if none, the first entry in Table 16–2 |
List of broker addresses The list consists of one or more broker addresses, separated by commas. Each address specifies (or implies) the host name, port number, and connection service for a broker instance to which the client can connect. Address syntax varies depending on the connection service and port assignment method; see below for details. |
|
String |
PRIORITY |
Order in which to attempt connection to broker addresses: PRIORITY: Order specified in address list RANDOM: Random order Note – If many clients share the same connection factory, specify random connection order to prevent them from all attempting to connect to the same address. |
|
Integer |
5 |
Number of times to iterate through address list attempting to establish or reestablish a connection A value of -1 denotes an unlimited number of iterations. |
|
imqPingInterval |
Integer |
30 |
Interval, in seconds, at which to test connection between client and broker A value of 0 or -1 disables periodic testing of the connection. |
Boolean |
false |
Attempt to reestablish a lost connection? |
|
Integer |
0 |
Number of times to attempt connection (or reconnection) to each address in address list before moving on to next A value of -1 denotes an unlimited number of connection attempts: attempt repeatedly to connect to first address until successful. |
|
Long integer |
3000 |
Interval, in milliseconds, between reconnection attempts This value applies both for successive attempts on a given address and for successive addresses in the list. Note – Too small a value may give the broker insufficient recovery time; too large a value may cause unacceptable connection delays. |
|
Boolean |
true |
Trust any certificate presented by broker? If false, the Message Queue client runtime will validate all certificates presented to it. Validation will fail if the signer of the certificate is not in the client's trust store. If true, validation of certificates is skipped. This can be useful, for instance, during software testing when a self-signed certificate is used. NOTE: To use signed certificates from a certification authority, set this attribute to false. |
The value of the imqAddressList attribute is a comma-separated string specifying one or more broker addresses to which to connect. The general syntax for each address is as follows:
scheme://address
where scheme identifies one of the addressing schemes shown in the first column of Table 16–2 and address denotes the broker address itself. The exact syntax for specifying the address depends on the addressing scheme, as shown in the last column of the table.
Table 16–2 Message Broker Addressing SchemesTable 16–3 Message Broker Address Examples
Service |
Broker Host |
Port |
Example Address |
---|---|---|---|
Not specified |
Not specified |
Not specified |
No address (mq://localHost:7676/jms) |
Not specified |
Specified host |
Not specified |
myBkrHost (mq://myBkrHost:7676/jms) |
Not specified |
Not specified |
Specified Port Mapper port |
1012 (mq://localHost:1012/jms) |
ssljms |
Local host |
Standard Port Mapper port |
mq://localHost:7676/ssljms |
ssljms |
Specified host |
Standard Port Mapper port |
mq://myBkrHost:7676/ssljms |
ssljms |
Specified host |
Specified Port Mapper port |
mq://myBkrHost:1012/ssljms |
jms |
Local host |
Specified service port |
mqtcp://localhost:1032/jms |
ssljms |
Specified host |
Specified service port |
mqssl://myBkrHost:1034/ssljms |
httpjms |
Not applicable |
Not applicable |
http://websrvr1:8085/imq/tunnel |
httpsjms |
Not applicable |
Not applicable |
https://websrvr2:8090/imq/tunnel |
Table 16–4 lists the connection factory attributes for client identification.
Table 16–4 Connection Factory Attributes for Client Identification
Attribute |
Type |
Default |
Description |
---|---|---|---|
String |
guest |
Default user name for authenticating with broker |
|
String |
guest |
Default password for authenticating with broker |
|
String |
null |
Administratively configured client identifier |
|
Boolean |
false |
Prevent client from changing client identifier using setClientID method? |
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 |
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 |
Table 16–6 lists the connection factory attributes for queue browsing and server sessions.
Table 16–6 Connection Factory Attributes for Queue Browser and Server Sessions
The connection factory attributes listed in Table 16–7 control whether the Message Queue client runtime sets certain standard message properties defined in the Java Message Service Specification.
Table 16–7 Connection Factory Attributes for Standard Message Properties
Property |
Type |
Default |
Description |
---|---|---|---|
Boolean |
false |
Set JMSXUserID property (identity of user sending message) for produced messages? |
|
Boolean |
false |
Set JMSXAppID property (identity of application sending message) for produced messages? |
|
Boolean |
false |
Set JMSXProducerTXID property (transaction identifier of transaction within which message was produced) for produced messages? |
|
Boolean |
false |
Set JMSXConsumerTXID property (transaction identifier of transaction within which message was consumed) for consumed messages? |
|
Boolean |
false |
Set JMSXRcvTimestamp property (time message delivered to consumer) for consumed messages? |
Table 16–8 lists the connection factory attributes for overriding JMS message header fields.
Table 16–8 Connection Factory Attributes for Message Header Overrides
Attribute |
Type |
Default |
Description |
---|---|---|---|
Boolean |
false |
Allow client-set delivery mode to be overridden? |
|
Integer |
2 |
Overriding value of delivery mode: 1 Nonpersistent 2 Persistent |
|
Boolean |
false |
Allow client-set expiration time to be overridden? |
|
Long integer |
0 |
Overriding value of expiration time, in milliseconds A value of 0 denotes an unlimited expiration time (message never expires). |
|
Boolean |
false |
Allow client-set priority level to be overridden? |
|
Integer |
4 (normal) |
Overriding value of priority level (0 to 9) |
|
Boolean |
false |
Apply overrides to temporary destinations? |