Skip to content

Apache Camel Connector

The Camel connector adds support for Apache Camel to Reactive Messaging.

Camel is an open source integration framework let you integrate various systems consuming or producing data. Camel implements the Enterprise Integration Patterns and provides several hundred of components used to access databases, message queues, APIs or basically anything under the sun.

Introduction

Camel is not a messaging broker. But, it allows your Reactive Messaging application to retrieve data from almost anything and send data to almost anything.

So if you want to send Reactive Messaging Message to Telegram or retrieve data from Salesforce or SAP, this is the connector you need.

One of the Camel cornerstone is the endpoint and its uri encoding the connection to an external system. For example, file:orders/?delete=true&charset=utf-8 instructs Camel to read the files from the orders directory. URI format and parameters are listed on the component documentation, such as the File component.

Using the camel connector

To you the camel Connector, add the following dependency to your project:

1
2
3
4
5
<dependency>
  <groupId>io.smallrye.reactive</groupId>
  <artifactId>smallrye-reactive-messaging-camel</artifactId>
  <version>3.19.1</version>
</dependency>

You will also need the dependency of the Camel component you are using. For example, if you want to process files, you would need to add the Camel File Component artifact:

1
2
3
4
5
<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-file</artifactId>
  <version>3.14.1</version>
</dependency>

The connector name is: smallrye-camel.

So, to indicate that a channel is managed by this connector you need:

1
2
3
4
5
# Inbound
mp.messaging.incoming.[channel-name].connector=smallrye-camel

# Outbound
mp.messaging.outgoing.[channel-name].connector=smallrye-camel