Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Apache Ignite In-Memory Data Fabric is a high-performance, integrated and distributed in-memory platform for computing and transacting on large-scale data sets in real-time, orders of magnitude faster than possible with traditional disk-based or flash technologies. It is designed to deliver uncompromised performance for a wide set of in-memory computing use cases from high performance computing, to the industry most advanced data grid, highly available service grid, and streaming. See all features.

Image Added

This component offers seven endpoints to cover much of Ignite's functionality:

  • Ignite Cache.
  • Ignite Compute.
  • Ignite Messaging.
  • Ignite Events.
  • Ignite Sets.
  • Ignite Queues.
  • Ignite ID Generator.

To use this component, add the following dependency to your pom.xml:

Code Block
xml
xml
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-ignite</artifactId>
    <version>${camel.version}</version> <!-- use the same version as your Camel core version -->
</dependency>

URI formats and options

Table of Contents
maxLevel2

CACHE: Ignite Cache endpoint

This endpoint allows you to interact with an Ignite Cache:

...

Header nameConstantExpected typeDescription

CamelIgniteCacheKey

IgniteConstants.IGNITE_CACHE_KEYStringThe cache key for the entry value in the message body.
CamelIgniteCacheQueryIgniteConstants.IGNITE_CACHE_QUERYQueryThe query to run (producer) when invoking the QUERY operation.
CamelIgniteCacheOperationIgniteConstants.IGNITE_CACHE_OPERATIONIgniteCacheOperation enumAllows you to dynamically change the cache operation to execute (producer).
CamelIgniteCachePeekModeIgniteConstants.IGNITE_CACHE_PEEK_MODECachePeekMode enumAllows you to dynamically change the cache peek mode when running the SIZE operation.
CamelIgniteCacheEventTypeIgniteConstants.IGNITE_CACHE_EVENT_TYPEint (EventType constants)This header carries the received event type when using the continuous query consumer.
CamelIgniteCacheNameIgniteConstants.IGNITE_CACHE_NAMEString

This header carries the cache name for which a continuous query event was received (consumer).

It does not allow you to dynamically change the cache against which a producer operation is performed. Use EIPs for that (e.g. recipient list, dynamic router).

CamelIgniteCacheOldValueIgniteConstants.IGNITE_CACHE_OLD_VALUEObjectThis header carries the old cache value when passed in the incoming cache event (consumer).

COMPUTE: Ignite Compute endpoint

This endpoint allows you to run compute operations on the cluster by passing in an IgniteCallable, an IgniteRunnable, an IgniteClosure, or collections of them, along with their parameters if necessary. 

...

OperationExpected payloads
CALL
Collection of IgniteCallable, or a single IgniteCallable.
BROADCAST
IgniteCallable, IgniteRunnable, IgniteClosure.
APPLY
IgniteClosure.
EXECUTE
ComputeTask, Class<? extends ComputeTask> or an object representing parameters if the taskName option is not null.
RUN
A Collection of IgniteRunnables, or a single IgniteRunnable.
AFFINITY_CALL
IgniteCallable.
AFFINITY_RUN
IgniteRunnable.

MESSAGING: Ignite Messaging endpoint

 The Ignite Messaging endpoint allows you to send and consume messages from an Ignite topic.

...

Header nameConstantExpected typeDescription

CamelIgniteMessagingTopic

IgniteConstants.IGNITE_MESSAGING_TOPICString

Allows you to dynamically change the topic to send messages to (producer).
It also carries the topic on which a message was received (consumer).

CamelIgniteMessagingUUID

IgniteConstants.IGNITE_MESSAGING_UUIDUUIDThis header is filled in with the UUID of the subscription when a message arrives (consumer).

EVENTS: Ignite Events endpoint

The Ignite Events endpoint allows you to receive events from the Ignite cluster by creating a local event listener.

...

OptionTypeDefault valueDescriptionCompulsoryConsumer/producer

events

Set<Integer> or String

EventType.EVTS_ALL

The event IDs to subscribe to. You can set a Set<Integer> directly where the IDs are the different constants in org.apache.ignite.events.EventType, or you can specify a comma-separated list of constant names.
For example: EVT_CACHE_ENTRY_CREATED,EVT_CACHE_OBJECT_REMOVED,EVT_IGFS_DIR_CREATED.

NConsumer

clusterGroupExpression

ClusterGroupExpression

---

An expression that returns the Cluster Group to be used by the IgniteEvents instance.

NConsumer

SETS: Ignite Sets endpoint

The Ignite Sets endpoint allows you to interact with Ignite Set data structures.

...

Header nameConstantExpected typeDescription

CamelIgniteSetsOperation

IgniteConstants.IGNITE_SETS_OPERATIONIgniteSetOperation enum

Allows you to dynamically change the set operation.

QUEUE: Ignite Queue endpoint

The Ignite Queue endpoint allows you to interact with Ignite Queue data structures.

...

Header nameConstantExpected typeDescription

CamelIgniteQueueOperation

IgniteConstants.IGNITE_QUEUE_OPERATIONIgniteQueueOperation enum

Allows you to dynamically change the queue operation.

CamelIgniteQueueMaxElementsIgniteConstants.IGNITE_QUEUE_MAX_ELEMENTSInteger or intWhen invoking the DRAIN operation, the amount of items to drain.
CamelIgniteQueueTransferredCountIgniteConstants.IGNITE_QUEUE_TRANSFERRED_COUNTInteger or intThe amount of items transferred as the result of the DRAIN operation.
CamelIgniteQueueTimeoutMillisIgniteConstants.IGNITE_QUEUE_TIMEOUT_MILLISLong or longDynamically sets the timeout in milliseconds to use when invoking the OFFER or POLL operations. 

IDGEN: Ignite ID Generator endpoint

The Ignite ID Generator endpoint allows you to interact with Ignite Atomic Sequences and ID Generators.

...

  • IgniteComponent#fromIgnite(Ignite)
  • IgniteComponent#fromConfiguration(IgniteConfiguration)
  • IgniteComponent#fromInputStream(InputStream)
  • IgniteComponent#fromUrl(URL)
  • IgniteComponent#fromLocation(String)

You may use those methods to quickly create an IgniteComponent with your chosen configuration technique.

General options

All endpoints share the following options:

...