A JMS connection factory is used to create connections to the associated JMS provider of JMS destinations, for both point-to-point and publish/subscribe messaging. Use connection factory administrative objects to manage JMS connection factories for the default messaging provider.
To view this page in the console, click one of the following paths:
By default, connections created by using this JMS connection factory in the server containers (for example, from an enterprise bean) are pooled by using Java Platform, Enterprise Edition (Java EE) Connector Architecture (JCA) connection pooling. You can modify the connection pool settings for this connection factory by selecting Connection pool properties in the Additional properties section of the administrative console panel.
The connection factory properties influence how the default messaging provider chooses the messaging engine to which your JMS application connects. By default, the environment automatically connects applications to an available messaging engine on the bus. However you can specify extra configuration details to influence the connection process; for example to identify special bootstrap servers, or to limit connection to a subgroup of available messaging engines, or to improve availability or performance, or to ensure sequential processing of messages received. For information about how to do this, see the topic Configuring the messaging engine selection process for JMS applications.
The Configuration tab shows configuration properties for this object. These property values are preserved even if the runtime environment is stopped then restarted. See the information center task descriptions for information about how to apply configuration changes to the runtime environment.
Specifies the highest topological level at which application servers can use this resource object.
Information | Value |
---|---|
Required | No |
Data type | String |
Specifies a JMS provider, which enables asynchronous messaging based on the Java Message Service (JMS). It provides J2EE connection factories to create connections for specific JMS queue or topic destinations. JMS provider administrative objects are used to manage JMS resources for the associated JMS provider.
Information | Value |
---|---|
Required | No |
Data type | String |
The required display name for the resource.
Information | Value |
---|---|
Required | Yes |
Data type | String |
The JNDI name for the resource.
Information | Value |
---|---|
Required | Yes |
Data type | String |
An optional description for the resource.
Information | Value |
---|---|
Required | No |
Data type | Text area |
An optional category string to use when classifying or grouping the resource.
Information | Value |
---|---|
Required | No |
Data type | String |
The name of the service integration bus to connect to.
Information | Value |
---|---|
Required | Yes |
Data type | Custom |
The name of a target that identifies a group of messaging engines. Specify the type of target using the Target type property.
Before the connection proximity search is performed to select a suitable messaging engine, 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 property specifies the name of the bus member from which suitable messaging engines can be chosen.
Information | Value |
---|---|
Required | No |
Data type | String |
The type of target named in the Target property.
Information | Value |
---|---|
Required | No |
Data type | drop-down list |
Range |
|
This property specifies the significance of the target group.
Information | Value |
---|---|
Required | No |
Data type | drop-down list |
Range |
|
The name of the inbound transport chain that the application should target when connecting to a messaging engine in a separate process to the application. If a messaging engine in another process is chosen, a connection can be made only if the messaging engine is in a server that runs the specified inbound transport chain. Refer to the information center for more information.
These transport chains specify the communication protocols that can be used to communicate with the application server to which the client application is connected.
If the selected messaging engine is in the same server as the application, a direct in-process connection is made and this transport chain property is ignored.
Information | Value |
---|---|
Required | No |
Data type | String |
A comma-separated list of endpoint triplets, with the syntax hostName:portNumber:chainName, used to connect to a bootstrap server. For example Merlin:7276:BootstrapBasicMessaging,Gandalf:5557:BootstrapSecureMessaging. If hostName is not specified, the default is localhost. If portNumber is not specified, the default is 7276. If chainName is not specified, the default is BootstrapBasicMessaging. Refer to the information center for more information.
You only have to modify this property if you have client applications running outside of an application server, or applications on a server in another cell, that want to use this connection factory to connect to the target service integration bus specified on the connection factory.
To use JMS destinations of the default messaging provider, an application connects to a messaging engine on the target 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.
Client applications running outside of an application server - for example, running in a client container or outside the WebSphere Application Server environment - cannot locate directly a suitable messaging engine to connect to in the target bus. Similarly, an application running on a server in one cell to connect to a target bus in another cell cannot locate directly a suitable messaging engine to connect to in the target bus.
In these scenarios, the clients (or servers in another bus) must complete a bootstrap process through a bootstrap server that is a member of the target bus. A bootstrap server is an application server running the SIB Service, but does not have to be running any messaging engines. The bootstrap server selects a messaging engine that is running in an application server that supports the required target transport chain. For the bootstrap process to be possible, you must configure one or more provider end points in the connection factory used by the client.
A bootstrap server uses a specific port and bootstrap transport chain. The port is the SIB_ENDPOINT_ADDRESS (or SIB_ENDPOINT_SECURE_ADDRESS if security is enabled), of the messaging engine that hosts the remote end of the link. Together with host name, these form the endpoint address of the bootstrap server.
If you want an application to use a bootstrap server with a different endpoint address, you must specify the required endpoint address on the Provider endpoints property of the JMS connection factories that the client application uses. You can specify one or more endpoint addresses of bootstrap servers.
The endpoint addresses for bootstrap servers must be specified in every JMS connection factory that is used by applications outside of an application server. To avoid having to specify a long list of bootstrap servers, you can provide a few highly-available servers as dedicated bootstrap servers. Then you only have to specify a short list of bootstrap servers on each connection factory.
boothost1:7278:BootstrapBasicMessaging
or
boothost1:7278
and for a server assigned secure port 7289,
on host boothost2, that uses the predefined transport
chain BootstrapTunneledSecureMessaging:boothost2:7289:BootstrapTunneledSecureMessaging
[ [host_name] [ ":" [port_number] [ ":" chain_name] ] ]
where:[2002:914:fc12:179:9:20:141:42]:7276:BootstrapBasicMessaging
.
If a value is not specified, the default is localhost.If port_number is not specified, the default is 7276.
To find either of these values by using the administrative console, click .
The following predefined bootstrap transport chains are provided:
Specifying host_name : chain_name instead of host_name : : chain_name (with two colons) is incorrect. It is valid to enter nothing, or to enter any of the following: "a", "a:", ":7276", "::chain", and so on. The default value applies if you do not specify a value, but you must separate the fields with ":".
boothost1:7278:BootstrapBasicMessaging,
boothost2:7289:BootstrapTunneledSecureMessaging,
[2002:914:fc12:179:9:20:141:42]:7276:BootstrapBasicMessaging
Information | Value |
---|---|
Required | No |
Data type | Text area |
The proximity of messaging engines that can accept connection requests, in relation to the bootstrap messaging engine.
For more information about using this property with other connection factory properties for workload management of connections, see the topic Administrative properties for JMS connections to a bus.
Information | Value |
---|---|
Required | No |
Data type | drop-down list |
Range |
|
The JMS client identifier needed for durable topic subscriptions on all connections created using this connection factory. This identifier is required if the application is doing durable pub/sub
Information | Value |
---|---|
Required | No |
Data type | String |
The name of the messaging engine used to store messages delivered to durable subscriptions for objects created from this JMS connection factory.
Information | Value |
---|---|
Required | No |
Data type | Custom |
The reliability applied to nonpersistent JMS messages sent using this connection factory.
Information | Value |
---|---|
Required | No |
Data type | drop-down list |
Range |
|
The reliability applied to persistent JMS messages sent using this connection factory.
Information | Value |
---|---|
Required | No |
Data type | drop-down list |
Range |
|
Read ahead is an optimization that preemptively assigns messages to consumers. This improves the time taken to satisfy consumer requests.
Messages that are assigned to a consumer are locked on the server and cannot be consumed by any other consumers for that destination. Messages that are assigned to a consumer, but not consumed before that consumer is closed, are subsequently unlocked on the server and then available for receipt by other consumers.
You can override this property for individual JMS destinations by setting the Read ahead property on the JMS destination.
Information | Value |
---|---|
Required | No |
Data type | drop-down list |
Range |
|
The prefix of up to twelve characters used for names of temporary queues created by applications that use this connection factory.
Information | Value |
---|---|
Required | No |
Data type | String |
The prefix of up to twelve characters used for names of temporary topics created by applications that use this connection factory.
Information | Value |
---|---|
Required | No |
Data type | String |
When large object messages or bytes messages are sent, the cost in memory and processor use of serializing, deserializing, and copying the message payload can be significant. If you enable the pass message payload by reference properties on a connection factory or activation specification, you tell the default messaging provider to override the JMS 1.1 specification and potentially reduce or bypass this data copying.
When enabled, Object/Bytes Messages sent by a message producing application that has connected to the bus using this connection factory will not have their data copied when set and the system will only serialize the message data when absolutely necessary. Applications sending such messages must not modify the data once it has been set into the message.
Information | Value |
---|---|
Required | No |
Data type | Boolean |
When enabled, Object Messages received by a message consuming application that has connected to this connection factory will only have their message data serialized by the system when absolutely necessary. The data obtained from these messages must be treated as readOnly by applications.
Information | Value |
---|---|
Required | No |
Data type | Boolean |
Whether or not the container logs that there is a missing transaction context when a connection is obtained.
Select this property to log connections being created without a transaction context.
Information | Value |
---|---|
Required | No |
Data type | Boolean |
Whether cached handles (handles held in instance variables in a bean) should be tracked by the container.
Information | Value |
---|---|
Required | No |
Data type | Boolean |
Specifies the alias that the connection factory uses to authenticate with the EIS for transaction recovery.
This property provides a list of the JCA authentication data entry aliases that have been defined to WebSphere Application Server. You can select a data entry alias to be used to authenticate during XA recovery processing.
If you have enabled security for the associated service integration bus, select the alias that specifies the user ID and password used for XA recovery that is valid in the user registry for WebSphere Application Server. This property must be set if bus security is enabled and XA transactions are to be used.
Information | Value |
---|---|
Required | No |
Data type | drop-down list |
Specifies the mapping configuration alias for the Java Authentication and Authorization Service (JAAS) mapping configuration that is used by this connection factory.
This field will be used only in the absence of a loginConfiguration on the component resource reference. The specification of a login configuration and associated properties on the component resource reference determines the container-managed authentication strategy when the res-auth value is Container.If the DefaultPrincipalMapping login configuration is specified, the associated property will be a JAAS - J2C authentication data entry alias. See related item JAAS - J2C authentication data entry to define a new alias.
Information | Value |
---|---|
Required | No |
Data type | drop-down list |
This alias specifies a user ID and password to be used to authenticate connections to the JMS provider for container-managed authentication. This setting is only used when the res-auth value is container, and the authentication alias was not set when the application was deployed.
Information | Value |
---|---|
Required | No |
Data type | drop-down list |