Apache Camel logo

Apache Camel

Apache Camel is an open-source integration framework developed by the Apache Software Foundation that implements Enterprise Integration Patterns (EIPs) for connecting systems, services, and data. It provides a domain-specific language (DSL) in Java, XML, YAML, and Kotlin for defining routes between components. Camel ships with over 300 components for connecting to messaging systems, databases, cloud services, APIs, and file formats. Camel K extends this with a Kubernetes-native integration runtime and operator with a REST management API.

4 APIs 10 Features
ApacheEnterprise IntegrationIntegrationMessagingOpen SourceRouting

APIs

Apache Camel Java DSL API

The Apache Camel Java DSL provides a fluent API for defining integration routes using Enterprise Integration Patterns. Developers define RouteBuilder subclasses to connect Camel...

Apache Camel REST DSL API

The Apache Camel REST DSL provides a concise syntax for exposing and consuming RESTful services within Camel routes. It supports both REST service definition and REST proxy/cons...

Apache Camel K Operator API

The Apache Camel K Operator exposes a Kubernetes Custom Resource API for deploying and managing Camel integrations as cloud-native serverless workloads on Kubernetes and OpenShift.

Apache Camel Quarkus API

Apache Camel Quarkus provides native compilation and fast startup of Camel routes on Quarkus, enabling serverless and microservice deployments with Camel's integration components.

Features

Enterprise Integration Patterns

Implementation of 65+ EIPs including splitter, aggregator, content-based router, message translator, and dead letter channel.

300+ Components

Pre-built connectors for messaging (Kafka, ActiveMQ, RabbitMQ), cloud (AWS, Azure, GCP), databases, REST, SOAP, and file formats.

Multi-DSL Support

Define routes in Java, XML, YAML, Kotlin, or Groovy DSL with full feature parity across languages.

REST DSL

Concise DSL for exposing and consuming RESTful services with OpenAPI/Swagger integration.

Camel K Kubernetes Operator

Deploy Camel integrations as cloud-native serverless workloads on Kubernetes and OpenShift.

Camel Quarkus

Native compilation of Camel routes with Quarkus for fast startup and low memory serverless deployments.

Data Formats

Built-in support for 50+ data format conversions including JSON, XML, CSV, Avro, Protobuf, and EDI.

Route Templates

Parameterized route templates for building reusable integration patterns.

Saga Pattern

Distributed transaction support using the saga pattern with compensating actions.

Observability

Built-in metrics, tracing (OpenTelemetry), and health check endpoints for Camel routes.

Use Cases

System Integration

Connect disparate enterprise systems including ERP, CRM, databases, and cloud services using EIP patterns.

API Gateway

Build lightweight API gateways for routing, transformation, and protocol mediation using the REST DSL.

Event-Driven Architecture

Implement event-driven integrations with Kafka, ActiveMQ, and other messaging platforms.

Data Pipeline

Build ETL pipelines transforming and routing data between storage systems and data formats.

Microservice Integration

Wire microservices together using Camel K serverless integrations on Kubernetes.

Legacy Modernization

Bridge legacy SOAP, FTP, and EDI systems with modern REST and cloud-native services.

Integrations

Apache Kafka

Camel Kafka component for producing and consuming Kafka topic messages in integration routes.

Apache ActiveMQ

Camel ActiveMQ component for JMS messaging with Apache ActiveMQ Classic and Artemis.

AWS Services

Camel AWS components for S3, SQS, SNS, DynamoDB, Lambda, and other AWS services.

Kubernetes

Camel K Operator for deploying integrations as native Kubernetes Custom Resources.

OpenAPI

Camel REST DSL generates OpenAPI specifications and can create routes from OpenAPI contracts.

Spring Boot

Camel Spring Boot starter for integrating Camel into Spring Boot applications.

Quarkus

Camel Quarkus extensions for native compilation and serverless deployment of integration routes.

Resources

👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🎓
Tutorials
Tutorials
💬
Support
Support
📜
TermsOfService
TermsOfService
📄
ChangeLog
ChangeLog
💬
FAQ
FAQ
📦
Java SDK (Maven)
SDK
🔗
Vocabulary
Vocabulary