The Apache Ignite Integrations Developer Hub

Welcome to the Apache Ignite Integrations developer hub. You'll find comprehensive guides and documentation to help you start working with Apache Ignite Integrations as quickly as possible, as well as support if you get stuck. Let's jump right in!

Recent Posts

Archive

Camel Streamer

Overview

This documentation page focuses on the Apache Camel Streamer, which can also be thought of as a Universal Streamer because it allows you to consume from any technology or protocol supported by Camel into an Ignite Cache.

What is Apache Camel?

If you don't know what Apache Camel is, check out the section at the bottom of the page for a quick introduction.

With this streamer, you can ingest entries straight into an Ignite cache based on:

Calls received on a Web Service (SOAP or REST), by extracting the body or headers.

Listening on a TCP or UDP channel for messages.

The content of files received via FTP or written to the local filesystem.

Email messages received via POP3 or IMAP.

A MongoDB tailable cursor.

An AWS SQS queue.

And many others.

This streamer supports two modes of ingestion: direct ingestion and mediated ingestion.

An Ignite Camel Component

There is also a camel-ignite component, if what you are looking is to interact with Ignite Caches, Compute, Events, Messaging, etc. from within a Camel route.

Read on for more details.

Direct Ingestion

Direct Ingestion allows you to consume from any Camel endpoint straight into Ignite, with the help of a Tuple Extractor. We call this direct ingestion.

Mediated Ingestion

For more sophisticated scenarios, you can also create a Camel route that performs complex processing on incoming messages, e.g. transformations, validations, splitting, aggregating, idempotency, resequencing, enrichment, etc. and ingest only the result into the Ignite cache.

Setting a Response

By default, the response sent back to the caller (if it is a synchronous endpoint) is simply an echo of the original request. If you want to customize​ the response, set a Camel Processor as a responseProcessor:

Don't forget to add the Camel component dependencies!

Make sure to also add the dependencies to the Camel components that you'll be using in the streamer.

About Apache Camel

Apache Camel is an enterprise integration framework that revolves around the idea of the well-known Enterprise Integration Patterns popularised by Gregor Hohpe and Bobby Woolf – such as channels, pipes, filters, splitters, aggregators, routers, resequences​, etc. – which you piece with one another like a Lego puzzle to create integration routes that connect systems together.

To date, there are over 200 components for Camel, many of which are adapters for different technologies like JMS, SOAP, HTTP, Files, FTP, POP3, SMTP, SSH; including cloud services like Amazon Web Services, Google Compute Engine, Salesforce; social networks like Twitter, Facebook; and even new generation databases like MongoDB, Cassandra; and data processing technologies like Hadoop (HDFS, HBase) and Spark.

Camel runs in a variety of environments, also supported by Ignite: standalone Java, OSGi, Servlet containers, Spring Boot, JEE application servers, etc. and it's fully modular, so you only deploy the components you'll actually be using and nothing else.