183 lines
32 KiB
JSON
183 lines
32 KiB
JSON
|
|
{
|
||
|
|
"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+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iOTQuNTY2OTFtbSIKICAgaGVpZ2h0PSI4My44MzA0NDRtbSIKICAgdmlld0JveD0iMCAwIDk0LjU2NjkxIDgzLjgzMDQ0NCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnNDM5MCI+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp6b29tPSIyLjgiCiAgICAgaW5rc2NhcGU6Y3g9IjI0LjE0MTM0OSIKICAgICBpbmtzY2FwZTpjeT0iMjAxLjA3Njk3IgogICAgIGlua3NjYXBlOmRvY3VtZW50LXVuaXRzPSJtbSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMzg0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIyMDU2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6c25hcC10ZXh0LWJhc2VsaW5lPSJ0cnVlIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9InRydWUiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIyMCIKICAgICBpbmtzY2FwZTpzbmFwLW9iamVjdC1taWRwb2ludHM9InRydWUiCiAgICAgZml0LW1hcmdpbi10b3A9IjEwIgogICAgIGZpdC1tYXJnaW4tbGVmdD0iMTAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMTAiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjEwIiAvPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0Mzg0Ij4KICAgIDxmaWx0ZXIKICAgICAgIHN0eWxlPSJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6c1JHQiIKICAgICAgIGlua3NjYXBlOmxhYmVsPSJEcm9wIFNoYWRvdyIKICAgICAgIGlkPSJmaWx0ZXI1NTI5Ij4KICAgICAgPGZlRmxvb2QKICAgICAgICAgZmxvb2Qtb3BhY2l0eT0iMC40OTgwMzkiCiAgICAgICAgIGZsb29kLWNvbG9yPSJyZ2IoMCwwLDApIgogICAgICAgICByZXN1bHQ9ImZsb29kIgogICAgICAgICBpZD0iZmVGbG9vZDU1MTkiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iZmxvb2QiCiAgICAgICAgIGluMj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgb3BlcmF0b3I9ImluIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTEiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU1MjEiIC8+CiAgICAgIDxmZUdhdXNzaWFuQmx1cgogICAgICAgICBpbj0iY29tcG9zaXRlMSIKICAgICAgICAgc3RkRGV2aWF0aW9uPSIwLjIiCiAgICAgICAgIHJlc3VsdD0iYmx1ciIKICAgICAgICAgaWQ9ImZlR2F1c3NpYW5CbHVyNTUyMyIgLz4KICAgICAgPGZlT2Zmc2V0CiAgICAgICAgIGR4PSIxIgogICAgICAgICBkeT0iMSIKICAgICAgICAgcmVzdWx0PSJvZmZzZXQiCiAgICAgICAgIGlkPSJmZU9mZnNldDU1MjUiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgaW4yPSJvZmZzZXQiCiAgICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTIiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU1MjciIC8+CiAgICA8L2ZpbHRlcj4KICAgIDxmaWx0ZXIKICAgICAgIHN0eWxlPSJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6c1JHQjsiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iRHJvcCBTaGFkb3ciCiAgICAgICBpZD0iZmlsdGVyNTYiPgogICAgICA8ZmVGbG9vZAogICAgICAgICBmbG9vZC1vcGFjaXR5PSIwLjQ5ODAzOSIKICAgICAgICAgZmxvb2QtY29sb3I9InJnYigwLDAsMCkiCiAgICAgICAgIHJlc3VsdD0iZmxvb2QiCiAgICAgICAgIGlkPSJmZUZsb29kNDYiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iZmxvb2QiCiAgICAgICAgIGluMj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgb3BlcmF0b3I9ImluIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTEiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTQ4IiAvPgogICAgICA8ZmVHYXVzc2lhbkJsdXIKICAgICAgICAgaW49ImNvbXBvc2l0ZTEiCiAgICAgICAgIHN0ZERldmlhdGlvbj0iMC4xIgogICAgICAgICByZXN1bHQ9ImJsdXIiCiAgICAgICAgIGlkPSJmZUdhdXNzaWFuQmx1cjUwIiAvPgogICAgICA8ZmVPZmZzZXQKICAgICAgICAgZHg9IjEiCiAgICAgICAgIGR5PSIxIgogICAgICAgICByZXN1bHQ9Im9mZnNldCIKICAgICAgICAgaWQ9ImZlT2Zmc2V0NTIiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgaW4yPSJvZmZzZXQiCiAgICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTIiCiAgICAgICAgIGlkPSJmZUNvb
|
||
|
|
"camel.apache.org/kamelet.support.level": "Stable",
|
||
|
|
"camel.apache.org/provider": "Apache Software Foundation",
|
||
|
|
"camel.apache.org/catalog.version": "4.22.1",
|
||
|
|
"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"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"password": {
|
||
|
|
"title": "Broker Password",
|
||
|
|
"description": "The JMS Broker Password.",
|
||
|
|
"type": "string",
|
||
|
|
"format": "password",
|
||
|
|
"x-descriptors": [
|
||
|
|
"urn:camel:group:credentials"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"maxSessionsPerConnection": {
|
||
|
|
"title": "Max Session Per Connection",
|
||
|
|
"description": "The maximum number of pooled sessions per connection in the pool.",
|
||
|
|
"type": "integer",
|
||
|
|
"default": 500
|
||
|
|
},
|
||
|
|
"maxIdleSessionsPerConnection": {
|
||
|
|
"title": "Max Idle Sessions Per Connection",
|
||
|
|
"description": "The number of idle sessions allowed per connection before they are closed.",
|
||
|
|
"type": "integer",
|
||
|
|
"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": "integer",
|
||
|
|
"default": 30000
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"dependencies": [
|
||
|
|
"camel:jms",
|
||
|
|
"camel:kamelet",
|
||
|
|
"mvn:org.apache.activemq:artemis-jakarta-client-all:2.55.0",
|
||
|
|
"mvn:org.messaginghub:pooled-jms:3.2.3"
|
||
|
|
],
|
||
|
|
"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}}",
|
||
|
|
"maxSessionsPerConnection": "{{maxSessionsPerConnection}}",
|
||
|
|
"maxIdleSessionsPerConnection": "{{maxIdleSessionsPerConnection}}",
|
||
|
|
"connectionIdleTimeout": "{{connectionIdleTimeout}}"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"from": {
|
||
|
|
"uri": "jms:{{destinationType}}:{{destinationName}}",
|
||
|
|
"parameters": {
|
||
|
|
"connectionFactory": "#bean:{{pooledFactoryBean}}"
|
||
|
|
},
|
||
|
|
"steps": [
|
||
|
|
{
|
||
|
|
"to": {
|
||
|
|
"uri": "kamelet:sink"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"propertiesSchema": {
|
||
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
||
|
|
"type": "object",
|
||
|
|
"title": "JMS Pooled - Apache Artemis Source",
|
||
|
|
"description": "Receive data from an Apache Artemis message broker by using JMS Pooled Connection.",
|
||
|
|
"required": [
|
||
|
|
"destinationName",
|
||
|
|
"brokerURL"
|
||
|
|
],
|
||
|
|
"properties": {
|
||
|
|
"destinationType": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "Destination Type",
|
||
|
|
"description": "The JMS destination type (queue or topic).",
|
||
|
|
"default": "queue"
|
||
|
|
},
|
||
|
|
"destinationName": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "Destination Name",
|
||
|
|
"description": "The JMS destination name."
|
||
|
|
},
|
||
|
|
"brokerURL": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "Broker URL",
|
||
|
|
"description": "The JMS URL."
|
||
|
|
},
|
||
|
|
"username": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "Broker Username",
|
||
|
|
"description": "The JMS Broker Username."
|
||
|
|
},
|
||
|
|
"password": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "Broker Password",
|
||
|
|
"description": "The JMS Broker Password.",
|
||
|
|
"format": "password"
|
||
|
|
},
|
||
|
|
"maxSessionsPerConnection": {
|
||
|
|
"type": "integer",
|
||
|
|
"title": "Max Session Per Connection",
|
||
|
|
"description": "The maximum number of pooled sessions per connection in the pool.",
|
||
|
|
"default": 500
|
||
|
|
},
|
||
|
|
"maxIdleSessionsPerConnection": {
|
||
|
|
"type": "integer",
|
||
|
|
"title": "Max Idle Sessions Per Connection",
|
||
|
|
"description": "The number of idle sessions allowed per connection before they are closed.",
|
||
|
|
"default": 500
|
||
|
|
},
|
||
|
|
"connectionIdleTimeout": {
|
||
|
|
"type": "integer",
|
||
|
|
"title": "Connection Idle Timeout",
|
||
|
|
"description": "The maximum time a pooled Connection can sit unused before it is eligible for removal (in milliseconds).",
|
||
|
|
"default": 30000
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|