PROVIDERVERSION unspecified

When the PROVIDERVERSION property of a connection factory is unspecified, the JMS client uses an algorithm to determine which mode of operation is used for connecting to the queue manager. A connection factory that was created in the JNDI namespace with a previous version of IBM® MQ classes for JMS takes the unspecified value when the connection factory is used with the new version of IBM MQ classes for JMS.

If the PROVIDERVERSION property is unspecified, the algorithm is used when the createConnection method is called. The algorithm checks a number of connection factory properties to determine if IBM MQ messaging provider normal mode, normal mode with restrictions, or IBM MQ messaging provider migration mode is required. Normal mode is always attempted first, and then normal mode with restrictions. If neither of these types of connection can be made, the JMS client disconnects from the queue manager and then connects with the queue manager again to attempt a migration mode connection.

Checking of BROKERVER, BROKERQMGR, PSMODE, and BROKERCONQ properties

The checking of property values begins with the BROKERVER property as shown in Figure 1.

If the BROKERVER property is set to V1, the TRANSPORT property is checked next as shown in Figure 2. However, if the BROKERVER property is set to V2, the additional checking shown in Figure 1 is done before the TRANSPORT property is checked.

Figure 1. PROVIDERVERSION unspecified
The figure is described in the surrounding text.

If the BROKERVER property is set to V2, for a normal mode connection to be possible, the BROKERQMGR property must be blank. Additionally, either the PSMODE attribute on the queue manager must be set to ENABLED or the broker control queue specified by the BROKERCONQ property must not be able to be opened for output.

If the property values are set as required for a normal mode connection, checking next moves on to the TRANSPORT property as shown in Figure 2.

If the property values are not set as required for a normal mode connection, the JMS client disconnects from the queue manager and then reconnects and creates a migration mode connection. This happens in the following cases:
  • If the BROKERQMGR property is blank and the PSMODE attribute on the queue manager is set to COMPAT or DISABLED and the broker control queue specified by the BROKERCONQ property can be opened for output (that is, MQOPEN for output succeeds).
  • If the BROKERQMGR property specifies a queue name.

Checking of TRANSPORT property and command level

Figure 2 shows the checks that are made for the TRANSPORT property and command level of the queue manager.

Figure 2. PROVIDERVERSION unspecified (continued)
The figure is described in the surrounding text.
A normal mode connection is created in either of the following cases:
  • The TRANSPORT property of the connection factory is set to BINDINGS, and the queue manager has a command level of 800 or greater.
  • The TRANSPORT property is set to CLIENT, the SHARECNV property on the server connection channel has a value of 1 or greater, and the queue manager has a command level of 800 or greater.

If the queue manager has a command level of 710 or 750, a normal mode with restrictions connection to the queue manager is created.

A migration mode connection is also created if the TRANSPORT property is set to CLIENT and the SHARECNV property on the server connection channel has a value of 0.