JMS - AMQP 1.0 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:
Property | Name | Description | Type | Default | Example |
---|---|---|---|---|---|
destinationName * |
Destination Name |
The JMS destination name |
string |
||
remoteURI * |
Broker URL |
The JMS URL |
string |
|
|
destinationType |
Destination Type |
The JMS destination type (i.e.: queue or topic) |
string |
|
Fields marked with (*) 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.
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:
destinationName: "The Destination Name"
remoteURI: "amqp://my-host:31616"
sink:
ref:
kind: Channel
apiVersion: messaging.knative.dev/v1
name: mychannel
Make sure you have 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:
kubectl apply -f jms-amqp-10-source-binding.yaml
Dependencies
The Kamelet needs the following dependencies:
-
camel:jms
-
camel:kamelet
-
mvn:org.apache.qpid:qpid-jms-client:1.0.0
Binding to Knative using the Kamel CLI:
The procedure described above can be simplified into a single execution of the kamel bind
command:
kamel bind jms-amqp-10-source -p "source.destinationName=The Destination Name" -p "source.remoteURI=amqp://my-host:31616" channel:mychannel
This will create the KameletBinding under the hood and apply it to the current namespace in the cluster.
Kafka Source
The jms-amqp-10-source
Kamelet can be used as Kafka source by binding it to a Kafka topic.
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:
destinationName: "The Destination Name"
remoteURI: "amqp://my-host:31616"
sink:
ref:
kind: KafkaTopic
apiVersion: kafka.strimzi.io/v1beta1
name: my-topic
Ensure that you’ve installed Strimzi and created a topic named my-topic
in the current namespace.
Make also sure you have 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:
kubectl apply -f jms-amqp-10-source-binding.yaml
Binding to Kafka using the Kamel CLI:
The procedure described above can be simplified into a single execution of the kamel bind
command:
kamel bind jms-amqp-10-source -p "source.destinationName=The Destination Name" -p "source.remoteURI=amqp://my-host:31616" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
This will create the KameletBinding under the hood and apply it to the current namespace in the cluster.