JMS V2 connection
The JMS V2 connection contains all of the information that is needed to connect to a specific JMS provider. The connection supports Generic JNDI connections, as well as connections to some other common JMS providers.
The connector has been tested against the following common JMS providers:
- ActiveMQ Classic (compatible with JMS v1.1)
- ActiveMQ Artemis
- Generic JNDI
- Oracle AQ (compatible with JMS v1.1)
- Oracle AQ (WebLogic)
- SonicMQ
- WebSphere MQ - Single QM
- WebSphere MQ - Multi-instance QM
Each provider has its own setup steps, as well as specific JMS connector setup steps.
Connection tab
The following fields appear on the Connection tab for all supported JMS providers:
Use Authentication - A checkbox to indicate whether authentication is required to establish the connection to the service or not.
Username - A text field to enter your username for authentication. This is a conditional field that appears when Authentication is selected.
Password - A text field to enter your password for authentication. This is a conditional field that appears when Authentication is selected.
JMS Version - A dropdown where you can choose to use JMS v.1.1 or 2.0.
Use Connection Pooling (Optional) - A checkbox to enable Connection Pooling with JMSv1.1 or 2.0. See the Connection Pool tab on this page for configuration details.
Server Type - A dropdown listing all the services supported by the connector. Generic JNDI is the default option.
Connection Pooling
Most integrations do not require connection pooling. Consider pooling if you use low latency to speed up processes or if you execute a large number of statements during an integration.
Integration manages connection pools as follows:
- A connection pool is identified by the connection component’s ID and its connection settings. This combination enables you to configure one component to communicate with different JMS queues. For example, you can define process extensions for connection settings so that one component can operate in separate connection pools.
- When you change a connection’s primary settings (for example, User Name or Password) on the Connection tab, a new connection pool is created when the connection is redeployed. This allows existing pools used by deployed processes to continue to operate without interruption.
- When you change a connection’s secondary settings (for example, Pool Maximum Connections or Pool Minimum Connections) on the Connection Pool tab, the existing connection pool is updated the first time the new version of the connection is requested.
- Every 30 minutes, Integration monitors all connection pools used by the connector to reclaim unused connections and to restart extra connections needed to satisfy the Pool Minimum Connections setting. When a connection pool has not been used in six hours and it has no active connections, it is considered a dead or surplus connection.
Connection Pool settings:
Pool Maximum Connections - An integer text box indicating the maximum number connections that can be lived concurrently. Setting this field to 0 indicates an unbounded number of connections. When this number is not set to 0, it must be greater or equal to ‘Minimum Connections’. Negative numbers are not allowed. The default value is 10.
Pool Minimum Connections - An integer text box indicating the minimum number of connections that are lived at all times. This number must be less or equal to the ‘Maximum Connections’. Negative numbers are not allowed. The default value is 0.
Pool Maximum Idle Time - An integer text box indicating the length of time in seconds that a connection can remain open in an idle state. Negative numbers are not allowed. The default value is 10 seconds.
Pool Exhausted Action - A dropdown with the options Wait for connection and Immediately fail. This field indicates how the connector behaves when the connection pool is exhausted. Wait for connection is selected by default.
- When Wait for connection is selected, the connector waits for a connection from the pool the amount of seconds configured in Pool Maximum Wait Time, failing if the timeout is exhausted.
- When Immediately fail is selected, the connector fails without waiting for a connection to be available.
Pool Maximum Wait Time - An integer text box indicating the length of time in seconds to wait for a connection from the pool. Negative numbers are not allowed. The default value is 10 seconds.
- A connection pool is created when an operation needs to use one and it does not exist yet.
- If there already exists a pool created for that connection component, that pool is used instead of creating a new one.
- A connection pool is considered expired if it does not hold any connection and it is not used for more than 6 hours.
- Every 30 minutes, all the connection pools are checked to verify that they are not expired. When an expired pool is detected, it is closed and removed.
There are several ways you can change your pool settings:
- To override the connection pool settings, change your connection settings and restart your basic runtime.
- To make changes immediately, change your connection settings and redeploy your process.
- To make changes without restarting your basic runtime, for example in extensions, make the changes. Then, leave the connection unused for 30 minutes in a process. The idle timeout generates a fresh connection pool the next time your process runs.