You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2024/07/16 13:13:09 UTC
(camel-kamelets) 01/01: JMS Kamelets: Expose Connection Pool parameters to make it customizable
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch jms-pooling
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git
commit 682cf653e10b3b015752f6a1922be9785d57a223
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Jul 16 15:12:33 2024 +0200
JMS Kamelets: Expose Connection Pool parameters to make it customizable
Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
.../jms-pooled-apache-artemis-sink.kamelet.yaml | 20 +++++++++++++++++++-
.../jms-pooled-apache-artemis-source.kamelet.yaml | 22 ++++++++++++++++++++--
.../jms-pooled-apache-artemis-sink.kamelet.yaml | 20 +++++++++++++++++++-
.../jms-pooled-apache-artemis-source.kamelet.yaml | 22 ++++++++++++++++++++--
4 files changed, 78 insertions(+), 6 deletions(-)
diff --git a/kamelets/jms-pooled-apache-artemis-sink.kamelet.yaml b/kamelets/jms-pooled-apache-artemis-sink.kamelet.yaml
index 2dc76f85..fbb4076c 100644
--- a/kamelets/jms-pooled-apache-artemis-sink.kamelet.yaml
+++ b/kamelets/jms-pooled-apache-artemis-sink.kamelet.yaml
@@ -67,7 +67,22 @@ spec:
x-descriptors:
- urn:camel:group:credentials
- urn:keda:authentication:password
- - urn:keda:required
+ - urn:keda:required
+ maxSessionsPerConnection:
+ title: "Max Sessions Per Connection"
+ description: "The maximum number of pooled sessions per connection in the pool"
+ type: int
+ default: 500
+ maxIdleSessionsPerConnection:
+ title: "Max Idle Sessions Per Connection"
+ description: "The number of idle sessions allowed per connection before they are closed."
+ type: int
+ default: 500
+ connectionIdleTimeout:
+ title: "Connection Idle Timeout"
+ description: "The maximum time a pooled Connection can sit unused before it is eligible for removal (in milliseconds)"
+ type: int
+ default: 30000
dependencies:
- "camel:jms"
- "camel:kamelet"
@@ -85,6 +100,9 @@ spec:
type: "#class:org.messaginghub.pooled.jms.JmsPoolConnectionFactory"
properties:
connectionFactory: '#bean:{{connectionFactoryBean}}'
+ maxSessionsPerConnection: "{{maxSessionsPerConnection}}"
+ maxIdleSessionsPerConnection: "{{maxIdleSessionsPerConnection}}"
+ connectionIdleTimeout: "{{connectionIdleTimeout}}"
from:
uri: "kamelet:source"
steps:
diff --git a/kamelets/jms-pooled-apache-artemis-source.kamelet.yaml b/kamelets/jms-pooled-apache-artemis-source.kamelet.yaml
index 362a2e64..41b105f0 100644
--- a/kamelets/jms-pooled-apache-artemis-source.kamelet.yaml
+++ b/kamelets/jms-pooled-apache-artemis-source.kamelet.yaml
@@ -66,7 +66,22 @@ spec:
x-descriptors:
- urn:camel:group:credentials
- urn:keda:authentication:password
- - urn:keda:required
+ - urn:keda:required
+ maxSessionsPerConnection:
+ title: "Max Session Per Connection"
+ description: "The maximum number of pooled sessions per connection in the pool"
+ type: int
+ default: 500
+ maxIdleSessionsPerConnection:
+ title: "Max Idle Sessions Per Connection"
+ description: "The number of idle sessions allowed per connection before they are closed."
+ type: int
+ default: 500
+ connectionIdleTimeout:
+ title: "Connection Idle Timeout"
+ description: "The maximum time a pooled Connection can sit unused before it is eligible for removal (in milliseconds)"
+ type: int
+ default: 30000
dependencies:
- "camel:jms"
- "camel:kamelet"
@@ -83,7 +98,10 @@ spec:
- name: pooledFactoryBean
type: "#class:org.messaginghub.pooled.jms.JmsPoolConnectionFactory"
properties:
- connectionFactory: '#bean:{{connectionFactoryBean}}'
+ connectionFactory: '#bean:{{connectionFactoryBean}}'
+ maxSessionsPerConnection: "{{maxSessionsPerConnection}}"
+ maxIdleSessionsPerConnection: "{{maxIdleSessionsPerConnection}}"
+ connectionIdleTimeout: "{{connectionIdleTimeout}}"
from:
uri: "jms:{{destinationType}}:{{destinationName}}"
parameters:
diff --git a/library/camel-kamelets/src/main/resources/kamelets/jms-pooled-apache-artemis-sink.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/jms-pooled-apache-artemis-sink.kamelet.yaml
index 2dc76f85..fbb4076c 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/jms-pooled-apache-artemis-sink.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/jms-pooled-apache-artemis-sink.kamelet.yaml
@@ -67,7 +67,22 @@ spec:
x-descriptors:
- urn:camel:group:credentials
- urn:keda:authentication:password
- - urn:keda:required
+ - urn:keda:required
+ maxSessionsPerConnection:
+ title: "Max Sessions Per Connection"
+ description: "The maximum number of pooled sessions per connection in the pool"
+ type: int
+ default: 500
+ maxIdleSessionsPerConnection:
+ title: "Max Idle Sessions Per Connection"
+ description: "The number of idle sessions allowed per connection before they are closed."
+ type: int
+ default: 500
+ connectionIdleTimeout:
+ title: "Connection Idle Timeout"
+ description: "The maximum time a pooled Connection can sit unused before it is eligible for removal (in milliseconds)"
+ type: int
+ default: 30000
dependencies:
- "camel:jms"
- "camel:kamelet"
@@ -85,6 +100,9 @@ spec:
type: "#class:org.messaginghub.pooled.jms.JmsPoolConnectionFactory"
properties:
connectionFactory: '#bean:{{connectionFactoryBean}}'
+ maxSessionsPerConnection: "{{maxSessionsPerConnection}}"
+ maxIdleSessionsPerConnection: "{{maxIdleSessionsPerConnection}}"
+ connectionIdleTimeout: "{{connectionIdleTimeout}}"
from:
uri: "kamelet:source"
steps:
diff --git a/library/camel-kamelets/src/main/resources/kamelets/jms-pooled-apache-artemis-source.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/jms-pooled-apache-artemis-source.kamelet.yaml
index 362a2e64..41b105f0 100644
--- a/library/camel-kamelets/src/main/resources/kamelets/jms-pooled-apache-artemis-source.kamelet.yaml
+++ b/library/camel-kamelets/src/main/resources/kamelets/jms-pooled-apache-artemis-source.kamelet.yaml
@@ -66,7 +66,22 @@ spec:
x-descriptors:
- urn:camel:group:credentials
- urn:keda:authentication:password
- - urn:keda:required
+ - urn:keda:required
+ maxSessionsPerConnection:
+ title: "Max Session Per Connection"
+ description: "The maximum number of pooled sessions per connection in the pool"
+ type: int
+ default: 500
+ maxIdleSessionsPerConnection:
+ title: "Max Idle Sessions Per Connection"
+ description: "The number of idle sessions allowed per connection before they are closed."
+ type: int
+ default: 500
+ connectionIdleTimeout:
+ title: "Connection Idle Timeout"
+ description: "The maximum time a pooled Connection can sit unused before it is eligible for removal (in milliseconds)"
+ type: int
+ default: 30000
dependencies:
- "camel:jms"
- "camel:kamelet"
@@ -83,7 +98,10 @@ spec:
- name: pooledFactoryBean
type: "#class:org.messaginghub.pooled.jms.JmsPoolConnectionFactory"
properties:
- connectionFactory: '#bean:{{connectionFactoryBean}}'
+ connectionFactory: '#bean:{{connectionFactoryBean}}'
+ maxSessionsPerConnection: "{{maxSessionsPerConnection}}"
+ maxIdleSessionsPerConnection: "{{maxIdleSessionsPerConnection}}"
+ connectionIdleTimeout: "{{connectionIdleTimeout}}"
from:
uri: "jms:{{destinationType}}:{{destinationName}}"
parameters: