Use this task to configure the JMS connection factory that an application uses, to tailor the process used to select a messaging engine for the application to connect to.
To use JMS destinations of the default messaging provider, a client application connects to a messaging engine on the service integration bus to which the destinations are assigned. For example, a JMS queue is assigned to a queue destination on a service integration bus.
The selection process is used to choose a messaging engine that an application should connect to. The default configuration enables applications to connect to any available messaging engine in the bus. For this configuration, you only need to specify the one required connection property, Bus name, which sets the name of the bus to which the application wants to connect.
The information that controls the selection process is configured on the connection factory (or programmatically by the application). You can configure the properties of the connection factory to restrict the range of messaging engines that applications can connect to.
This task is based on an application that uses a unified JMS connection factory. You can use the same task to configure a JMS queue connection factory or JMS topic connection factory, but during the task would need to select the appropriate type of connection factory instead of JMS connection factory.
These transport chains specify the communication protocols that can be used to communicate with the application server that the client application is connected to. The following predefined messaging engine inbound transport chains are provided:
For an application running in an application server, this property defines how close messaging engines must be to the application server. For an application running outside an application server, this property defines how close messaging engines must be to the bootstrap server.
When searching for the most suitable messaging engine a closer messaging engine is always selected ahead of a more remote messaging engine.
A suitable messaging engine in the same server is selected ahead of a suitable messaging engine in the same host, and in turn ahead of a suitable messaging engine in another host.
A suitable messaging engine in the same server is selected ahead of a suitable messaging engine in the same host, and in turn ahead of a suitable messaging engine in another host.
Before the connection proximity search is performed the set of messaging engines that are members of the specified target group are selected. The connection proximity search is then restricted to these messaging engines. If a target group is not specified (the default), then all messaging engines in the bus are considered during the connection proximity search.
For example, if the Target type property is set to Bus member name, the Target group specifies the name of the bus member from which suitable messaging engines can be chosen.
When a preferred messaging engine is not available, a connection to a non-preferred one can be created, and stored in the connection pool. The next time the application requests a connection it will receive this pooled connection even if the preferred messaging engine has subsequently become available.
This can be resolved by modifying the Connection pool settings to regularly discard all unused connections in the pool. After the connection pool is emptied, connections will be made to the preferred messaging engine if one is available.
For example, set the ReapTime, AgedTimeout and UnusedTimeout to 300 seconds, and the PurgePolicy to EntirePool. This will refresh the connection pool every 5 minutes, after which time the application will select a preferred messaging engine if one is available.
To configure any of these properties of a connection factory, complete the following steps.
In this information ...Related concepts
Related tasks
Related reference
| IBM Redbooks, demos, education, and more(Index) |