This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch pooled-artemis
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git

commit fd12a5a668c2be4bd468ee4068ede089ca96149a
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Thu May 16 12:32:55 2024 +0200

    Added a JMS Artemis with Pooling support Sink Kamelet
    
    Signed-off-by: Andrea Cosentino <anco...@gmail.com>
---
 .../jms-pooled-apache-artemis-sink.kamelet.yaml    | 94 ++++++++++++++++++++++
 1 file changed, 94 insertions(+)

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
new file mode 100644
index 00000000..d89250d5
--- /dev/null
+++ 
b/library/camel-kamelets/src/main/resources/kamelets/jms-pooled-apache-artemis-sink.kamelet.yaml
@@ -0,0 +1,94 @@
+# ---------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ---------------------------------------------------------------------------
+apiVersion: camel.apache.org/v1
+kind: Kamelet
+metadata:
+  name: jms-pooled-apache-artemis-sink
+  annotations:
+    camel.apache.org/kamelet.icon: 
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Im
 [...]
+    camel.apache.org/kamelet.support.level: "Stable"
+    camel.apache.org/provider: "Apache Software Foundation"
+    camel.apache.org/catalog.version: "4.7.0-SNAPSHOT"
+    camel.apache.org/kamelet.group: "JMS"
+    camel.apache.org/kamelet.namespace: "Messaging"
+  labels:
+    camel.apache.org/kamelet.type: "sink"
+    camel.apache.org/requires.runtime: camel-k
+spec:
+  definition:
+    title: "JMS Pooled - Apache Artemis Sink"
+    description: "Send data to an Apache Artemis message broker by using JMS 
Pooled"
+    required:
+      - destinationName
+      - brokerURL
+    type: object
+    properties:
+      destinationType:
+        title: "Destination Type"
+        description: "The JMS destination type (queue or topic)."
+        type: string
+        default: queue
+      destinationName:
+        title: "Destination Name"
+        description: "The JMS destination name."
+        type: string
+        example: person
+      brokerURL:
+        title: "Broker URL"
+        description: "The JMS URL."
+        type: string
+        example: "tcp://my-host:61616"
+      username:
+        title: "Broker Username"
+        description: "The JMS Broker Username."
+        type: string
+        x-descriptors:
+        - urn:camel:group:credentials
+        - urn:keda:authentication:password
+        - urn:keda:required 
+      password:
+        title: "Broker Password"
+        description: "The JMS Broker Password."
+        type: string
+        x-descriptors:
+        - urn:camel:group:credentials
+        - urn:keda:authentication:password
+        - urn:keda:required   
+  dependencies:
+  - "camel:jms"
+  - "camel:kamelet"
+  - "mvn:org.apache.activemq:artemis-jakarta-client-all:2.33.0"
+  - "mvn:org.messaginghub:pooled-jms:3.1.6"
+  template:
+    beans:
+      - name: connectionFactoryBean
+        type: 
"#class:org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory"
+        properties:
+          brokerURL: '{{brokerURL}}'
+          user: '{{?username}}'
+          password: '{{?password}}'
+      - name: pooledFactoryBean
+        type: "#class:org.messaginghub.pooled.jms.JmsPoolConnectionFactory"
+        properties:
+          connectionFactory: '#bean:{{connectionFactoryBean}}'
+    from:
+      uri: "kamelet:source"
+      steps:
+      - to:
+          uri: "jms:{{destinationType}}:{{destinationName}}"
+          parameters:
+            connectionFactory: "#bean:{{pooledFactoryBean}}"

Reply via email to