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 5f2dcd699143ba6ee469ea2bbd0e3c0d9ec8d829 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Thu May 16 12:33:17 2024 +0200 Added a JMS Artemis with Pooling support Source Kamelet Signed-off-by: Andrea Cosentino <anco...@gmail.com> --- .../jms-pooled-apache-artemis-source.kamelet.yaml | 93 ++++++++++++++++++++++ 1 file changed, 93 insertions(+) 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 new file mode 100644 index 00000000..193fdc62 --- /dev/null +++ b/library/camel-kamelets/src/main/resources/kamelets/jms-pooled-apache-artemis-source.kamelet.yaml @@ -0,0 +1,93 @@ +# --------------------------------------------------------------------------- +# 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-source + 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: "source" + camel.apache.org/requires.runtime: camel-k +spec: + definition: + title: "JMS Pooled - Apache Artemis Source" + description: "Receive data from an Apache Artemis message broker by using JMS Pooled Connection." + 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 + 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: "jms:{{destinationType}}:{{destinationName}}" + parameters: + connectionFactory: "#bean:{{pooledFactoryBean}}" + steps: + - to: + uri: "kamelet:sink"