JMS¶
Forage creates pooled JMS connection factories with optional XA transaction support.
Quick Start¶
forage.myBroker.jms.kind=artemis
forage.myBroker.jms.url=tcp://localhost:61616
forage.myBroker.jms.username=admin
forage.myBroker.jms.password=secret
Supported Brokers¶
| Name | Description |
|---|---|
artemis | ActiveMQ Artemis message broker |
ibmmq | IBM MQ message broker |
Properties¶
| Property | Description | Type | Default | Required |
|---|---|---|---|---|
forage.jms.kind | The JMS broker kind/type | bean-name | Yes | |
forage.jms.broker.url | The JMS broker URL | string | ||
forage.jms.client.id | The JMS client identifier | string | ||
forage.jms.transaction.enabled | Enable transaction management | boolean | false |
Security
| Property | Description | Type | Default | Required |
|---|---|---|---|---|
forage.jms.username | The JMS broker username | string | ||
forage.jms.password | The JMS broker password | password | ||
forage.jms.ssl.enabled | Enable SSL/TLS for the JMS connection | boolean | false | |
forage.jms.ssl.truststore.path | Path to the SSL truststore file | string | ||
forage.jms.ssl.truststore.password | Password for the SSL truststore | password | ||
forage.jms.ssl.truststore.type | Type of the SSL truststore (JKS, PKCS12) | string | JKS | |
forage.jms.ssl.keystore.path | Path to the SSL keystore file for mutual TLS | string | ||
forage.jms.ssl.keystore.password | Password for the SSL keystore | password | ||
forage.jms.ssl.keystore.type | Type of the SSL keystore (JKS, PKCS12) | string | JKS | |
forage.jms.ssl.cipher.suites | Comma-separated list of enabled SSL cipher suites | string | ||
forage.jms.ssl.protocol | SSL/TLS protocol version (TLSv1.2, TLSv1.3) | string | TLSv1.2 |
Advanced
| Property | Description | Type | Default | Required |
|---|---|---|---|---|
forage.jms.pool.enabled | Enable connection pooling | boolean | true | |
forage.jms.pool.max.connections | Maximum number of connections in the pool | integer | 10 | |
forage.jms.pool.max.sessions.per.connection | Maximum number of sessions per connection | integer | 500 | |
forage.jms.pool.idle.timeout.millis | Idle timeout for connections (milliseconds) | long | 30000 | |
forage.jms.pool.expiry.timeout.millis | Expiry timeout for connections (milliseconds) | long | 0 | |
forage.jms.pool.connection.timeout.millis | Connection timeout (milliseconds) | long | 30000 | |
forage.jms.pool.block.if.full | Block when pool is full | boolean | true | |
forage.jms.pool.block.if.full.timeout.millis | Timeout when blocking on full pool (milliseconds, -1 for infinite) | long | -1 | |
forage.jms.transaction.timeout.seconds | Timeout for transactions (seconds) | integer | 30 | |
forage.jms.transaction.node.id | The transaction node identifier | string | ||
forage.jms.transaction.object.store.id | The transaction object store identifier | string | ||
forage.jms.transaction.enable.recovery | Enable transaction recovery | boolean | false | |
forage.jms.transaction.recovery.modules | Comma-separated list of transaction recovery modules | string | ||
forage.jms.transaction.expiry.scanners | Comma-separated list of transaction expiry scanners | string | com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner | |
forage.jms.transaction.xa.resource.orphan.filters | Comma-separated list of XA resource orphan filters | string | ||
forage.jms.transaction.object.store.directory | Directory for transaction object store | string | ObjectStore | |
forage.jms.transaction.object.store.type | Type of transaction object store (file-system or jdbc) | string | file-system |