rabbitmq source RabbitMQ Source

Provided by: "Apache Software Foundation"

Support Level for this Kamelet is: "Stable"

Receive data from a RabbitMQ Broker.

Configuration Options

The following table summarizes the configuration options available for the rabbitmq-source Kamelet:

Property Name Description Type Default Example

addresses

Addresses

Required Comma separated list of RabbitMQ broker addresses.

string

localhost:5672

exchangeName

Exchange name

Required The exchange name determines the exchange the queue will be bound to.

string

password

Password

The password to access the RabbitMQ server.

string

queue

Queue name

The queue to receive messages from.

string

routingKey

Routing Key

The routing key to use when binding a consumer queue to the exchange.

string

username

Username

The username to access the RabbitMQ server.

string

vhost

Virtual Host

The vhost for the channel.

string

/

Dependencies

At runtime, the rabbitmq-source Kamelet relies upon the presence of the following dependencies:

  • camel:rabbitmq

  • camel:kamelet

Usage

This section describes how you can use the rabbitmq-source.

Knative source

You can use the rabbitmq-source Kamelet as a Knative source by binding it to a Knative object.

rabbitmq-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: rabbitmq-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: rabbitmq-source
    properties:
      addresses: localhost:5672
      exchangeName: The Exchange name
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel

Prerequisite

You have Camel K installed on the cluster.

Procedure for using the cluster CLI

  1. Save the rabbitmq-source-binding.yaml file to your local drive, and then edit it as needed for your configuration.

  2. Run the source by using the following command:

    kubectl apply -f rabbitmq-source-binding.yaml

Procedure for using the Kamel CLI

Configure and run the source by using the following command:

kamel bind rabbitmq-source -p "source.addresses=localhost:5672" -p "source.exchangeName=The Exchange name" channel:mychannel

This command creates the KameletBinding in the current namespace on the cluster.

Kafka source

You can use the rabbitmq-source Kamelet as a Kafka source by binding it to a Kafka topic.

rabbitmq-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: rabbitmq-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: rabbitmq-source
    properties:
      addresses: localhost:5672
      exchangeName: The Exchange name
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic

Prerequisites

  • You’ve installed Strimzi.

  • You’ve created a topic named my-topic in the current namespace.

  • You have Camel K installed on the cluster.

Procedure for using the cluster CLI

  1. Save the rabbitmq-source-binding.yaml file to your local drive, and then edit it as needed for your configuration.

  2. Run the source by using the following command:

    kubectl apply -f rabbitmq-source-binding.yaml

Procedure for using the Kamel CLI

Configure and run the source by using the following command:

kamel bind rabbitmq-source -p "source.addresses=localhost:5672" -p "source.exchangeName=The Exchange name" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic

This command creates the KameletBinding in the current namespace on the cluster.