Skip to content

Commit

Permalink
Added JMS source kamelet for AMQP 1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
orpiske committed Jun 14, 2021
1 parent 26653c8 commit 88dc7b2
Show file tree
Hide file tree
Showing 3 changed files with 119 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
* xref:ROOT:insert-header-action.adoc[image:kamelets/insert-header-action.svg[] Insert Header Action]
* xref:ROOT:is-tombstone-filter-action.adoc[image:kamelets/is-tombstone-filter-action.svg[] Is Tombstone Filter Action]
* xref:ROOT:jira-source.adoc[image:kamelets/jira-source.svg[] Jira Source]
* xref:ROOT:jms-amqp-10-source.adoc[ JMS - AMQP 1.0 JMS Kamelet Source]
* xref:ROOT:json-deserialize-action.adoc[image:kamelets/json-deserialize-action.svg[] Json Deserialize Action]
* xref:ROOT:json-serialize-action.adoc[image:kamelets/json-serialize-action.svg[] Json Serialize Action]
* xref:ROOT:kafka-manual-commit-action.adoc[image:kamelets/kafka-manual-commit-action.svg[] Kafka Manual Commit Action]
Expand Down
65 changes: 65 additions & 0 deletions docs/modules/ROOT/pages/jms-amqp-10-source.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
= JMS - AMQP 1.0 JMS Kamelet Source

*Provided by: "Apache Software Foundation"*

*Support Level for this Kamelet is: "Preview"*

A Kamelet that can consume events from any AMQP 1.0 compliant message broker using the Apache Qpid JMS client

== Configuration Options

The following table summarizes the configuration options available for the `jms-amqp-10-source` Kamelet:
[width="100%",cols="2,^2,3,^2,^2,^3",options="header"]
|===
| Property| Name| Description| Type| Default| Example
| *brokerURL {empty}* *| Broker URL| The JMS URL| string| |
| *destinationName {empty}* *| Destination Name| The JMS destination name| string| |
| destinationType| Destination Type| The JMS destination type (i.e.: queue or topic)| string| `"queue"`|
|===

NOTE: Fields marked with ({empty}*) are mandatory.

== Usage

This section summarizes how the `jms-amqp-10-source` can be used in various contexts.

=== Knative Source

The `jms-amqp-10-source` Kamelet can be used as Knative source by binding it to a Knative object.

.jms-amqp-10-source-binding.yaml
[source,yaml]
----
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
name: jms-amqp-10-source-binding
spec:
source:
ref:
kind: Kamelet
apiVersion: camel.apache.org/v1alpha1
name: jms-amqp-10-source
properties:
brokerURL: "The Broker URL"
destinationName: "The Destination Name"
sink:
ref:
kind: InMemoryChannel
apiVersion: messaging.knative.dev/v1
name: mychannel
----

Make sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to.

Save the `jms-amqp-10-source-binding.yaml` file into your hard drive, then configure it according to your needs.

You can run the source using the following command:

[source,shell]
----
kubectl apply -f jms-amqp-10-source-binding.yaml
----
// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
53 changes: 53 additions & 0 deletions jms-amqp-10-source.kamelet.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
apiVersion: camel.apache.org/v1alpha1
kind: Kamelet
metadata:
name: jms-amqp-10-source
annotations:
camel.apache.org/kamelet.support.level: "Preview"
camel.apache.org/provider: "Apache Software Foundation"
camel.apache.org/catalog.version: "main-SNAPSHOT"
camel.apache.org/kamelet.group: "JMS"
labels:
camel.apache.org/kamelet.type: "source"
camel.apache.org/requires.runtime: camel-k
spec:
definition:
title: "JMS - AMQP 1.0 JMS Kamelet Source"
description: "A Kamelet that can consume events from any AMQP 1.0 compliant message broker using the Apache Qpid JMS client"
required:
- destinationName
- brokerURL
type: object
properties:
destinationType:
title: "Destination Type"
description: "The JMS destination type (i.e.: 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
dependencies:
- "camel:jms"
- "camel:kamelet"
- "mvn:org.apache.camel.k:camel-k-kamelet-reify"
- "mvn:org.apache.qpid:qpid-jms-client:jar:1.0.0"
flow:
beans:
- name: connectionFactoryBean
type: "#class:org.apache.qpid.jms.JmsConnectionFactory"
property:
- key: remoteURI
value: '{{remoteURI}}'
from:
uri: "kamelet-reify:jms:{{destinationType}}:{{destinationName}}"
parameters:
connectionFactory: "#bean:{{connectionFactoryBean}}"
steps:
- to:
uri: "kamelet:sink"

0 comments on commit 88dc7b2

Please sign in to comment.