You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2017/04/21 09:20:59 UTC

[3/5] camel git commit: CAMEL-10798 Splitted camel-ignite component for each endpoint

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteComputeTest.java
----------------------------------------------------------------------
diff --git a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteComputeTest.java b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteComputeTest.java
index fd66450..2588135 100644
--- a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteComputeTest.java
+++ b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteComputeTest.java
@@ -27,6 +27,7 @@ import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Lists;
 
 import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.component.ignite.compute.IgniteComputeComponent;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.Ignition;
@@ -41,10 +42,20 @@ public class IgniteComputeTest extends AbstractIgniteTest {
     private static final List<Ignite> ADDITIONAL_INSTANCES = Lists.newArrayList();
     private static final List<UUID> LISTENERS = Lists.newArrayList();
 
+    @Override
+    protected String getScheme() {
+        return "ignite-compute";
+    }
+
+    @Override
+    protected AbstractIgniteComponent createComponent() {
+        return IgniteComputeComponent.fromConfiguration(createConfiguration());
+    }
+
     @Test
     public void testExecuteWithWrongPayload() {
         try {
-            template.requestBody("ignite:compute:abc?executionType=EXECUTE", TestIgniteComputeResources.TEST_CALLABLE, String.class);
+            template.requestBody("ignite-compute:abc?executionType=EXECUTE", TestIgniteComputeResources.TEST_CALLABLE, String.class);
         } catch (Exception e) {
             assert_().that(ObjectHelper.getException(RuntimeCamelException.class, e).getMessage()).startsWith("Ignite Compute endpoint with EXECUTE");
             return;
@@ -59,19 +70,19 @@ public class IgniteComputeTest extends AbstractIgniteTest {
         TestIgniteComputeResources.COUNTER.set(0);
 
         // Single Callable.
-        String result = template.requestBody("ignite:compute:abc?executionType=CALL", TestIgniteComputeResources.TEST_CALLABLE, String.class);
+        String result = template.requestBody("ignite-compute:abc?executionType=CALL", TestIgniteComputeResources.TEST_CALLABLE, String.class);
 
         assert_().that(result).isEqualTo("hello");
 
         // Collection of Callables.
         Object[] callables = new Object[5];
         Arrays.fill(callables, TestIgniteComputeResources.TEST_CALLABLE);
-        Collection<String> colResult = template.requestBody("ignite:compute:abc?executionType=CALL", Lists.newArrayList(callables), Collection.class);
+        Collection<String> colResult = template.requestBody("ignite-compute:abc?executionType=CALL", Lists.newArrayList(callables), Collection.class);
 
         assert_().that(colResult).containsExactly("hello", "hello", "hello", "hello", "hello").inOrder();
 
         // Callables with a Reducer.
-        String reduced = template.requestBodyAndHeader("ignite:compute:abc?executionType=CALL", Lists.newArrayList(callables), IgniteConstants.IGNITE_COMPUTE_REDUCER,
+        String reduced = template.requestBodyAndHeader("ignite-compute:abc?executionType=CALL", Lists.newArrayList(callables), IgniteConstants.IGNITE_COMPUTE_REDUCER,
                 TestIgniteComputeResources.STRING_JOIN_REDUCER, String.class);
 
         assert_().that(reduced).isEqualTo("hellohellohellohellohello");
@@ -82,14 +93,14 @@ public class IgniteComputeTest extends AbstractIgniteTest {
         TestIgniteComputeResources.COUNTER.set(0);
 
         // Single Runnable.
-        Object result = template.requestBody("ignite:compute:abc?executionType=RUN", TestIgniteComputeResources.TEST_RUNNABLE_COUNTER, Object.class);
+        Object result = template.requestBody("ignite-compute:abc?executionType=RUN", TestIgniteComputeResources.TEST_RUNNABLE_COUNTER, Object.class);
         assert_().that(result).isNull();
         assert_().that(TestIgniteComputeResources.COUNTER.get()).isEqualTo(1);
 
         // Multiple Runnables.
         Object[] runnables = new Object[5];
         Arrays.fill(runnables, TestIgniteComputeResources.TEST_RUNNABLE_COUNTER);
-        result = template.requestBody("ignite:compute:abc?executionType=RUN", Lists.newArrayList(runnables), Collection.class);
+        result = template.requestBody("ignite-compute:abc?executionType=RUN", Lists.newArrayList(runnables), Collection.class);
         assert_().that(result).isNull();
         assert_().that(TestIgniteComputeResources.COUNTER.get()).isEqualTo(6);
     }
@@ -106,17 +117,17 @@ public class IgniteComputeTest extends AbstractIgniteTest {
         LISTENERS.add(ignite().events().remoteListen(null, TestIgniteComputeResources.EVENT_COUNTER, EventType.EVT_JOB_FINISHED));
 
         // Single Runnable.
-        Object result = template.requestBody("ignite:compute:abc?executionType=BROADCAST", TestIgniteComputeResources.TEST_RUNNABLE, Object.class);
+        Object result = template.requestBody("ignite-compute:abc?executionType=BROADCAST", TestIgniteComputeResources.TEST_RUNNABLE, Object.class);
         assert_().that(result).isNull();
         assert_().that(TestIgniteComputeResources.COUNTER.get()).isEqualTo(3);
 
         // Single Callable.
-        Collection<String> colResult = template.requestBody("ignite:compute:abc?executionType=BROADCAST", TestIgniteComputeResources.TEST_CALLABLE, Collection.class);
+        Collection<String> colResult = template.requestBody("ignite-compute:abc?executionType=BROADCAST", TestIgniteComputeResources.TEST_CALLABLE, Collection.class);
         assert_().that(colResult).isNotNull();
         assert_().that(colResult).containsExactly("hello", "hello", "hello").inOrder();
 
         // Single Closure.
-        colResult = template.requestBodyAndHeader("ignite:compute:abc?executionType=BROADCAST", TestIgniteComputeResources.TEST_CLOSURE, IgniteConstants.IGNITE_COMPUTE_PARAMS, "Camel",
+        colResult = template.requestBodyAndHeader("ignite-compute:abc?executionType=BROADCAST", TestIgniteComputeResources.TEST_CLOSURE, IgniteConstants.IGNITE_COMPUTE_PARAMS, "Camel",
                 Collection.class);
         assert_().that(colResult).isNotNull();
         assert_().that(colResult).containsExactly("hello Camel", "hello Camel", "hello Camel").inOrder();
@@ -133,12 +144,12 @@ public class IgniteComputeTest extends AbstractIgniteTest {
         LISTENERS.add(ignite().events().remoteListen(null, TestIgniteComputeResources.EVENT_COUNTER, EventType.EVT_JOB_RESULTED));
 
         // ComputeTask instance.
-        String result = template.requestBodyAndHeader("ignite:compute:abc?executionType=EXECUTE", TestIgniteComputeResources.COMPUTE_TASK, IgniteConstants.IGNITE_COMPUTE_PARAMS, 10, String.class);
+        String result = template.requestBodyAndHeader("ignite-compute:abc?executionType=EXECUTE", TestIgniteComputeResources.COMPUTE_TASK, IgniteConstants.IGNITE_COMPUTE_PARAMS, 10, String.class);
         assert_().that(result).isNotNull();
         assert_().that(Splitter.on(",").splitToList(result)).containsAllOf("a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9");
 
         // ComputeTask class.
-        result = template.requestBodyAndHeader("ignite:compute:abc?executionType=EXECUTE", TestIgniteComputeResources.COMPUTE_TASK.getClass(), IgniteConstants.IGNITE_COMPUTE_PARAMS, 10, String.class);
+        result = template.requestBodyAndHeader("ignite-compute:abc?executionType=EXECUTE", TestIgniteComputeResources.COMPUTE_TASK.getClass(), IgniteConstants.IGNITE_COMPUTE_PARAMS, 10, String.class);
         assert_().that(result).isNotNull();
         assert_().that(Splitter.on(",").splitToList(result)).containsAllOf("a0", "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9");
     }
@@ -149,18 +160,18 @@ public class IgniteComputeTest extends AbstractIgniteTest {
         TestIgniteComputeResources.COUNTER.set(0);
 
         // Closure with a single parameter.
-        String result = template.requestBodyAndHeader("ignite:compute:abc?executionType=APPLY", TestIgniteComputeResources.TEST_CLOSURE, IgniteConstants.IGNITE_COMPUTE_PARAMS, "Camel", String.class);
+        String result = template.requestBodyAndHeader("ignite-compute:abc?executionType=APPLY", TestIgniteComputeResources.TEST_CLOSURE, IgniteConstants.IGNITE_COMPUTE_PARAMS, "Camel", String.class);
         assert_().that(result).isEqualTo("hello Camel");
 
         // Closure with a Collection of parameters.
-        Collection<String> colResult = template.requestBodyAndHeader("ignite:compute:abc?executionType=APPLY", TestIgniteComputeResources.TEST_CLOSURE, IgniteConstants.IGNITE_COMPUTE_PARAMS,
+        Collection<String> colResult = template.requestBodyAndHeader("ignite-compute:abc?executionType=APPLY", TestIgniteComputeResources.TEST_CLOSURE, IgniteConstants.IGNITE_COMPUTE_PARAMS,
                 Lists.newArrayList("Camel1", "Camel2", "Camel3"), Collection.class);
         assert_().that(colResult).containsAllOf("hello Camel1", "hello Camel2", "hello Camel3");
 
         // Closure with a Collection of parameters and a Reducer.
         Map<String, Object> headers = ImmutableMap.<String, Object> of(IgniteConstants.IGNITE_COMPUTE_PARAMS, Lists.newArrayList("Camel1", "Camel2", "Camel3"), IgniteConstants.IGNITE_COMPUTE_REDUCER,
                 TestIgniteComputeResources.STRING_JOIN_REDUCER);
-        result = template.requestBodyAndHeaders("ignite:compute:abc?executionType=APPLY", TestIgniteComputeResources.TEST_CLOSURE, headers, String.class);
+        result = template.requestBodyAndHeaders("ignite-compute:abc?executionType=APPLY", TestIgniteComputeResources.TEST_CLOSURE, headers, String.class);
         assert_().that(result).isEqualTo("hello Camel1hello Camel2hello Camel3");
     }
 
@@ -170,7 +181,7 @@ public class IgniteComputeTest extends AbstractIgniteTest {
     }
 
     private void startAdditionalGridInstance() {
-        ADDITIONAL_INSTANCES.add(Ignition.start(buildComponent().getIgniteConfiguration()));
+        ADDITIONAL_INSTANCES.add(Ignition.start(createConfiguration()));
     }
 
     @After

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteEventsTest.java
----------------------------------------------------------------------
diff --git a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteEventsTest.java b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteEventsTest.java
index 57a1428..ec025f1 100644
--- a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteEventsTest.java
+++ b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteEventsTest.java
@@ -31,6 +31,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Route;
 import org.apache.camel.ServiceStatus;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.ignite.events.IgniteEventsComponent;
 import org.apache.camel.impl.JndiRegistry;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.configuration.IgniteConfiguration;
@@ -43,12 +44,22 @@ import static com.google.common.truth.Truth.assert_;
 
 public class IgniteEventsTest extends AbstractIgniteTest {
 
+    @Override
+    protected String getScheme() {
+        return "ignite-events";
+    }
+
+    @Override
+    protected AbstractIgniteComponent createComponent() {
+        return IgniteEventsComponent.fromConfiguration(createConfiguration());
+    }
+
     @Test
     public void testConsumeAllEvents() throws Exception {
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                from("ignite:events:abc").to("mock:test1");
+                from("ignite-events:abc").to("mock:test1");
             }
         });
 
@@ -82,7 +93,7 @@ public class IgniteEventsTest extends AbstractIgniteTest {
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                from("ignite:events:abc?events=#filter").to("mock:test2");
+                from("ignite-events:abc?events=#filter").to("mock:test2");
             }
         });
 
@@ -109,7 +120,7 @@ public class IgniteEventsTest extends AbstractIgniteTest {
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                from("ignite:events:abc?events=EVT_CACHE_OBJECT_PUT").to("mock:test3");
+                from("ignite-events:abc?events=EVT_CACHE_OBJECT_PUT").to("mock:test3");
             }
         });
 
@@ -159,10 +170,10 @@ public class IgniteEventsTest extends AbstractIgniteTest {
     }
 
     @Override
-    protected IgniteComponent buildComponent() {
+    protected IgniteConfiguration createConfiguration() {
         IgniteConfiguration config = new IgniteConfiguration();
         config.setIncludeEventTypes(EventType.EVTS_ALL_MINUS_METRIC_UPDATE);
-        return IgniteComponent.fromConfiguration(config);
+        return config;
     }
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteIdGenTest.java
----------------------------------------------------------------------
diff --git a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteIdGenTest.java b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteIdGenTest.java
index c310e41..5066849 100644
--- a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteIdGenTest.java
+++ b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteIdGenTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.ignite;
 
 import com.google.common.collect.ImmutableSet;
 
+import org.apache.camel.component.ignite.idgen.IgniteIdGenComponent;
 import org.apache.camel.component.ignite.idgen.IgniteIdGenEndpoint;
 import org.apache.camel.component.ignite.idgen.IgniteIdGenOperation;
 import org.apache.ignite.IgniteAtomicSequence;
@@ -28,36 +29,46 @@ import static com.google.common.truth.Truth.assert_;
 
 public class IgniteIdGenTest extends AbstractIgniteTest {
 
+    @Override
+    protected String getScheme() {
+        return "ignite-idgen";
+    }
+
+    @Override
+    protected AbstractIgniteComponent createComponent() {
+        return IgniteIdGenComponent.fromConfiguration(createConfiguration());
+    }
+
     @Test
     public void testOperations() {
-        assert_().that(template.requestBody("ignite:idgen:abc?initialValue=0&operation=GET", null, Long.class)).isEqualTo(0);
-        assert_().that(template.requestBody("ignite:idgen:abc?initialValue=0&operation=GET_AND_INCREMENT", null, Long.class)).isEqualTo(0);
-        assert_().that(template.requestBody("ignite:idgen:abc?initialValue=0&operation=INCREMENT_AND_GET", null, Long.class)).isEqualTo(2);
-        assert_().that(template.requestBody("ignite:idgen:abc?initialValue=0&operation=ADD_AND_GET", 5, Long.class)).isEqualTo(7);
-        assert_().that(template.requestBody("ignite:idgen:abc?initialValue=0&operation=GET_AND_ADD", 5, Long.class)).isEqualTo(7);
-        assert_().that(template.requestBody("ignite:idgen:abc?initialValue=0&operation=GET", 5, Long.class)).isEqualTo(12);
+        assert_().that(template.requestBody("ignite-idgen:abc?initialValue=0&operation=GET", null, Long.class)).isEqualTo(0);
+        assert_().that(template.requestBody("ignite-idgen:abc?initialValue=0&operation=GET_AND_INCREMENT", null, Long.class)).isEqualTo(0);
+        assert_().that(template.requestBody("ignite-idgen:abc?initialValue=0&operation=INCREMENT_AND_GET", null, Long.class)).isEqualTo(2);
+        assert_().that(template.requestBody("ignite-idgen:abc?initialValue=0&operation=ADD_AND_GET", 5, Long.class)).isEqualTo(7);
+        assert_().that(template.requestBody("ignite-idgen:abc?initialValue=0&operation=GET_AND_ADD", 5, Long.class)).isEqualTo(7);
+        assert_().that(template.requestBody("ignite-idgen:abc?initialValue=0&operation=GET", 5, Long.class)).isEqualTo(12);
     }
 
     @Test
     public void testInitialValue() {
-        assert_().that(template.requestBody("ignite:idgen:abc?operation=GET&initialValue=100", null, Long.class)).isEqualTo(100);
-        assert_().that(template.requestBody("ignite:idgen:abc?operation=GET_AND_INCREMENT&initialValue=100", null, Long.class)).isEqualTo(100);
-        assert_().that(template.requestBody("ignite:idgen:abc?operation=INCREMENT_AND_GET&initialValue=100", null, Long.class)).isEqualTo(102);
-        assert_().that(template.requestBody("ignite:idgen:abc?operation=ADD_AND_GET&initialValue=100", 5, Long.class)).isEqualTo(107);
-        assert_().that(template.requestBody("ignite:idgen:abc?operation=GET_AND_ADD&initialValue=100", 5, Long.class)).isEqualTo(107);
-        assert_().that(template.requestBody("ignite:idgen:abc?operation=GET&initialValue=100", 5, Long.class)).isEqualTo(112);
+        assert_().that(template.requestBody("ignite-idgen:abc?operation=GET&initialValue=100", null, Long.class)).isEqualTo(100);
+        assert_().that(template.requestBody("ignite-idgen:abc?operation=GET_AND_INCREMENT&initialValue=100", null, Long.class)).isEqualTo(100);
+        assert_().that(template.requestBody("ignite-idgen:abc?operation=INCREMENT_AND_GET&initialValue=100", null, Long.class)).isEqualTo(102);
+        assert_().that(template.requestBody("ignite-idgen:abc?operation=ADD_AND_GET&initialValue=100", 5, Long.class)).isEqualTo(107);
+        assert_().that(template.requestBody("ignite-idgen:abc?operation=GET_AND_ADD&initialValue=100", 5, Long.class)).isEqualTo(107);
+        assert_().that(template.requestBody("ignite-idgen:abc?operation=GET&initialValue=100", 5, Long.class)).isEqualTo(112);
     }
 
     @Test
     public void testDifferentOperation() {
-        assert_().that(template.requestBody("ignite:idgen:abc?operation=GET&initialValue=100", null, Long.class)).isEqualTo(100);
-        assert_().that(template.requestBodyAndHeader("ignite:idgen:abc?operation=GET_AND_INCREMENT&initialValue=100", null, IgniteConstants.IGNITE_IDGEN_OPERATION,
+        assert_().that(template.requestBody("ignite-idgen:abc?operation=GET&initialValue=100", null, Long.class)).isEqualTo(100);
+        assert_().that(template.requestBodyAndHeader("ignite-idgen:abc?operation=GET_AND_INCREMENT&initialValue=100", null, IgniteConstants.IGNITE_IDGEN_OPERATION,
                 IgniteIdGenOperation.INCREMENT_AND_GET, Long.class)).isEqualTo(101);
     }
 
     @Test
     public void testBatchSize() {
-        IgniteIdGenEndpoint endpoint = context.getEndpoint("ignite:idgen:abc?operation=GET&initialValue=100&batchSize=100", IgniteIdGenEndpoint.class);
+        IgniteIdGenEndpoint endpoint = context.getEndpoint("ignite-idgen:abc?operation=GET&initialValue=100&batchSize=100", IgniteIdGenEndpoint.class);
         assert_().that(template.requestBody(endpoint, null, Long.class)).isEqualTo(100);
 
         // Cannot test much here with a single Ignite instance, let's just test that the parameter could be set.

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteMessagingTest.java
----------------------------------------------------------------------
diff --git a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteMessagingTest.java b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteMessagingTest.java
index a1cee04..a90de6d 100644
--- a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteMessagingTest.java
+++ b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteMessagingTest.java
@@ -30,6 +30,7 @@ import com.google.common.collect.Range;
 import org.apache.camel.Consumer;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
+import org.apache.camel.component.ignite.messaging.IgniteMessagingComponent;
 import org.apache.ignite.lang.IgniteBiPredicate;
 import org.junit.After;
 import org.junit.Test;
@@ -47,12 +48,22 @@ public class IgniteMessagingTest extends AbstractIgniteTest implements Serializa
     private static final String TOPIC2 = "TOPIC2";
     private UUID uuid;
 
+    @Override
+    protected String getScheme() {
+        return "ignite-messaging";
+    }
+
+    @Override
+    protected AbstractIgniteComponent createComponent() {
+        return IgniteMessagingComponent.fromConfiguration(createConfiguration());
+    }
+
     @Test
     public void testProducerSendMessage() {
         List<Object> messages = Lists.newArrayList();
         setupMessageListener(TOPIC1, messages);
 
-        template.requestBody("ignite:messaging:TOPIC1", 1);
+        template.requestBody("ignite-messaging:TOPIC1", 1);
 
         await().atMost(5, TimeUnit.SECONDS).untilCall(to(messages).size(), equalTo(1));
         assert_().that(messages.get(0)).isEqualTo(1);
@@ -66,7 +77,7 @@ public class IgniteMessagingTest extends AbstractIgniteTest implements Serializa
         List<Object> messages2 = Lists.newArrayList();
         setupMessageListener(TOPIC2, messages2);
 
-        template.requestBodyAndHeader("ignite:messaging:TOPIC1", 1, IgniteConstants.IGNITE_MESSAGING_TOPIC, "TOPIC2");
+        template.requestBodyAndHeader("ignite-messaging:TOPIC1", 1, IgniteConstants.IGNITE_MESSAGING_TOPIC, "TOPIC2");
 
         Thread.sleep(1000);
         assert_().that(messages1.size()).isEqualTo(0);
@@ -79,7 +90,7 @@ public class IgniteMessagingTest extends AbstractIgniteTest implements Serializa
         setupMessageListener(TOPIC1, messages);
 
         Set<Integer> request = ContiguousSet.create(Range.closedOpen(0, 100), DiscreteDomain.integers());
-        template.requestBody("ignite:messaging:TOPIC1", request);
+        template.requestBody("ignite-messaging:TOPIC1", request);
 
         await().atMost(5, TimeUnit.SECONDS).untilCall(to(messages).size(), equalTo(100));
         assert_().that(messages).containsAllIn(request);
@@ -92,7 +103,7 @@ public class IgniteMessagingTest extends AbstractIgniteTest implements Serializa
 
         ContiguousSet<Integer> set = ContiguousSet.create(Range.closedOpen(0, 100), DiscreteDomain.integers());
         for (int i : set) {
-            template.requestBody("ignite:messaging:TOPIC1?sendMode=ORDERED&timeout=1000", i);
+            template.requestBody("ignite-messaging:TOPIC1?sendMode=ORDERED&timeout=1000", i);
         }
 
         await().atMost(5, TimeUnit.SECONDS).untilCall(to(messages).size(), equalTo(100));
@@ -105,7 +116,7 @@ public class IgniteMessagingTest extends AbstractIgniteTest implements Serializa
         setupMessageListener(TOPIC1, messages);
 
         Set<Integer> request = ContiguousSet.create(Range.closedOpen(0, 100), DiscreteDomain.integers());
-        template.requestBody("ignite:messaging:TOPIC1?treatCollectionsAsCacheObjects=true", request);
+        template.requestBody("ignite-messaging:TOPIC1?treatCollectionsAsCacheObjects=true", request);
 
         await().atMost(5, TimeUnit.SECONDS).untilCall(to(messages).size(), equalTo(1));
         assert_().that(messages.get(0)).isEqualTo(request);
@@ -114,7 +125,7 @@ public class IgniteMessagingTest extends AbstractIgniteTest implements Serializa
     @Test
     public void testConsumerManyMessages() throws Exception {
         List<Object> messages = Lists.newArrayList();
-        Consumer consumer = context.getEndpoint("ignite:messaging:TOPIC1").createConsumer(storeBodyInListProcessor(messages));
+        Consumer consumer = context.getEndpoint("ignite-messaging:TOPIC1").createConsumer(storeBodyInListProcessor(messages));
         consumer.start();
 
         Set<Integer> messagesToSend = ContiguousSet.create(Range.closedOpen(0, 100), DiscreteDomain.integers());

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteQueueTest.java
----------------------------------------------------------------------
diff --git a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteQueueTest.java b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteQueueTest.java
index 77fb769..f1eb3f7 100644
--- a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteQueueTest.java
+++ b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteQueueTest.java
@@ -31,6 +31,7 @@ import com.google.common.collect.Iterators;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 
+import org.apache.camel.component.ignite.queue.IgniteQueueComponent;
 import org.apache.camel.component.ignite.queue.IgniteQueueEndpoint;
 import org.apache.camel.component.ignite.queue.IgniteQueueOperation;
 import org.apache.camel.impl.JndiRegistry;
@@ -44,21 +45,31 @@ import static com.google.common.truth.Truth.assert_;
 
 public class IgniteQueueTest extends AbstractIgniteTest {
 
+    @Override
+    protected String getScheme() {
+        return "ignite-queue";
+    }
+
+    @Override
+    protected AbstractIgniteComponent createComponent() {
+        return IgniteQueueComponent.fromConfiguration(createConfiguration());
+    }
+
     @Test
     public void testOperations() {
-        boolean result = template.requestBody("ignite:queue:abc?operation=ADD", "hello", boolean.class);
+        boolean result = template.requestBody("ignite-queue:abc?operation=ADD", "hello", boolean.class);
         assert_().that(result).isTrue();
         assert_().that(ignite().queue("abc", 0, new CollectionConfiguration()).contains("hello")).isTrue();
 
-        result = template.requestBody("ignite:queue:abc?operation=CONTAINS", "hello", boolean.class);
+        result = template.requestBody("ignite-queue:abc?operation=CONTAINS", "hello", boolean.class);
         assert_().that(result).isTrue();
         assert_().that(ignite().queue("abc", 0, new CollectionConfiguration()).contains("hello")).isTrue();
 
-        result = template.requestBody("ignite:queue:abc?operation=REMOVE", "hello", boolean.class);
+        result = template.requestBody("ignite-queue:abc?operation=REMOVE", "hello", boolean.class);
         assert_().that(result).isTrue();
         assert_().that(ignite().queue("abc", 0, new CollectionConfiguration()).contains("hello")).isFalse();
 
-        result = template.requestBody("ignite:queue:abc?operation=CONTAINS", "hello", boolean.class);
+        result = template.requestBody("ignite-queue:abc?operation=CONTAINS", "hello", boolean.class);
         assert_().that(result).isFalse();
     }
 
@@ -66,11 +77,11 @@ public class IgniteQueueTest extends AbstractIgniteTest {
     @SuppressWarnings("unchecked")
     public void testOperations2() {
         for (int i = 0; i < 100; i++) {
-            template.requestBody("ignite:queue:abc?operation=ADD", "hello" + i);
+            template.requestBody("ignite-queue:abc?operation=ADD", "hello" + i);
         }
 
         // SIZE
-        int size = template.requestBody("ignite:queue:abc?operation=SIZE", "hello", int.class);
+        int size = template.requestBody("ignite-queue:abc?operation=SIZE", "hello", int.class);
         assert_().that(size).isEqualTo(100);
         assert_().that(ignite().queue("abc", 0, new CollectionConfiguration()).size()).isEqualTo(100);
 
@@ -80,29 +91,29 @@ public class IgniteQueueTest extends AbstractIgniteTest {
         }
 
         // RETAIN_ALL
-        boolean retained = template.requestBodyAndHeader("ignite:queue:abc?operation=CLEAR", toRetain, IgniteConstants.IGNITE_QUEUE_OPERATION, IgniteQueueOperation.RETAIN_ALL, boolean.class);
+        boolean retained = template.requestBodyAndHeader("ignite-queue:abc?operation=CLEAR", toRetain, IgniteConstants.IGNITE_QUEUE_OPERATION, IgniteQueueOperation.RETAIN_ALL, boolean.class);
         assert_().that(retained).isTrue();
 
         // SIZE
-        size = template.requestBody("ignite:queue:abc?operation=SIZE", "hello", int.class);
+        size = template.requestBody("ignite-queue:abc?operation=SIZE", "hello", int.class);
         assert_().that(size).isEqualTo(50);
         assert_().that(ignite().queue("abc", 0, new CollectionConfiguration()).size()).isEqualTo(50);
 
         // ITERATOR
-        Iterator<String> iterator = template.requestBody("ignite:queue:abc?operation=ITERATOR", "hello", Iterator.class);
+        Iterator<String> iterator = template.requestBody("ignite-queue:abc?operation=ITERATOR", "hello", Iterator.class);
         assert_().that(Iterators.toArray(iterator, String.class)).asList().containsExactlyElementsIn(toRetain).inOrder();
 
         // ARRAY
-        String[] array = template.requestBody("ignite:queue:abc?operation=ARRAY", "hello", String[].class);
+        String[] array = template.requestBody("ignite-queue:abc?operation=ARRAY", "hello", String[].class);
         assert_().that(array).asList().containsExactlyElementsIn(toRetain).inOrder();
 
         // CLEAR
-        Object result = template.requestBody("ignite:queue:abc?operation=CLEAR", "hello", String.class);
+        Object result = template.requestBody("ignite-queue:abc?operation=CLEAR", "hello", String.class);
         assert_().that(result).isEqualTo("hello");
         assert_().that(ignite().queue("abc", 0, new CollectionConfiguration()).size()).isEqualTo(0);
 
         // SIZE
-        size = template.requestBody("ignite:queue:abc?operation=SIZE", "hello", int.class);
+        size = template.requestBody("ignite-queue:abc?operation=SIZE", "hello", int.class);
         assert_().that(size).isEqualTo(0);
         assert_().that(ignite().queue("abc", 0, new CollectionConfiguration()).size()).isEqualTo(0);
     }
@@ -111,14 +122,14 @@ public class IgniteQueueTest extends AbstractIgniteTest {
     public void testRetainSingle() {
         // Fill data.
         for (int i = 0; i < 100; i++) {
-            template.requestBody("ignite:queue:abc?operation=ADD", "hello" + i);
+            template.requestBody("ignite-queue:abc?operation=ADD", "hello" + i);
         }
 
-        boolean retained = template.requestBody("ignite:queue:abc?operation=RETAIN_ALL", "hello10", boolean.class);
+        boolean retained = template.requestBody("ignite-queue:abc?operation=RETAIN_ALL", "hello10", boolean.class);
         assert_().that(retained).isTrue();
 
         // ARRAY
-        String[] array = template.requestBody("ignite:queue:abc?operation=ARRAY", "hello", String[].class);
+        String[] array = template.requestBody("ignite-queue:abc?operation=ARRAY", "hello", String[].class);
         assert_().that(array).asList().containsExactly("hello10");
     }
 
@@ -126,28 +137,28 @@ public class IgniteQueueTest extends AbstractIgniteTest {
     public void testCollectionsAsCacheObject() {
         // Fill data.
         for (int i = 0; i < 100; i++) {
-            template.requestBody("ignite:queue:abc?operation=ADD", "hello" + i);
+            template.requestBody("ignite-queue:abc?operation=ADD", "hello" + i);
         }
 
         // Add the set.
         Set<String> toAdd = Sets.newHashSet("hello101", "hello102", "hello103");
-        template.requestBody("ignite:queue:abc?operation=ADD&treatCollectionsAsCacheObjects=true", toAdd);
+        template.requestBody("ignite-queue:abc?operation=ADD&treatCollectionsAsCacheObjects=true", toAdd);
 
         // Size must be 101, not 103.
-        int size = template.requestBody("ignite:queue:abc?operation=SIZE", "hello", int.class);
+        int size = template.requestBody("ignite-queue:abc?operation=SIZE", "hello", int.class);
         assert_().that(size).isEqualTo(101);
         assert_().that(ignite().queue("abc", 0, new CollectionConfiguration()).size()).isEqualTo(101);
         assert_().that(ignite().queue("abc", 0, new CollectionConfiguration()).contains(toAdd)).isTrue();
 
         // Check whether the Set contains the Set.
-        boolean contains = template.requestBody("ignite:queue:abc?operation=CONTAINS&treatCollectionsAsCacheObjects=true", toAdd, boolean.class);
+        boolean contains = template.requestBody("ignite-queue:abc?operation=CONTAINS&treatCollectionsAsCacheObjects=true", toAdd, boolean.class);
         assert_().that(contains).isTrue();
 
         // Delete the Set.
-        template.requestBody("ignite:queue:abc?operation=REMOVE&treatCollectionsAsCacheObjects=true", toAdd);
+        template.requestBody("ignite-queue:abc?operation=REMOVE&treatCollectionsAsCacheObjects=true", toAdd);
 
         // Size must be 100 again.
-        size = template.requestBody("ignite:queue:abc?operation=SIZE", "hello", int.class);
+        size = template.requestBody("ignite-queue:abc?operation=SIZE", "hello", int.class);
         assert_().that(size).isEqualTo(100);
         assert_().that(ignite().queue("abc", 0, new CollectionConfiguration()).size()).isEqualTo(100);
         assert_().that(ignite().queue("abc", 0, new CollectionConfiguration()).contains(toAdd)).isFalse();
@@ -161,7 +172,7 @@ public class IgniteQueueTest extends AbstractIgniteTest {
 
         context.getRegistry(JndiRegistry.class).bind("config", configuration);
 
-        IgniteQueueEndpoint igniteEndpoint = context.getEndpoint("ignite:queue:abc?operation=ADD&configuration=#config", IgniteQueueEndpoint.class);
+        IgniteQueueEndpoint igniteEndpoint = context.getEndpoint("ignite-queue:abc?operation=ADD&configuration=#config", IgniteQueueEndpoint.class);
         template.requestBody(igniteEndpoint, "hello");
 
         assert_().that(ignite().queue("abc", 0, configuration).size()).isEqualTo(1);
@@ -174,19 +185,19 @@ public class IgniteQueueTest extends AbstractIgniteTest {
 
         // Fill data.
         for (int i = 0; i < 100; i++) {
-            template.requestBody("ignite:queue:def?operation=ADD&capacity=100", "hello" + i);
+            template.requestBody("ignite-queue:def?operation=ADD&capacity=100", "hello" + i);
             list.add("hello" + i);
         }
 
         // NOTE: Unfortunately the behaviour of IgniteQueue doesn't adhere to the overridden ADD method. It should return an Exception.
-        assert_().that(template.requestBody("ignite:queue:def?operation=ADD&capacity=100", "hello101", boolean.class)).isFalse();
-        assert_().that(template.requestBody("ignite:queue:def?operation=OFFER&capacity=100", "hello101", boolean.class)).isFalse();
+        assert_().that(template.requestBody("ignite-queue:def?operation=ADD&capacity=100", "hello101", boolean.class)).isFalse();
+        assert_().that(template.requestBody("ignite-queue:def?operation=OFFER&capacity=100", "hello101", boolean.class)).isFalse();
 
         final CountDownLatch latch = new CountDownLatch(1);
         Thread t = new Thread(new Runnable() {
             @Override
             public void run() {
-                assert_().that(template.requestBody("ignite:queue:def?operation=PUT&capacity=100", "hello101", boolean.class)).isFalse();
+                assert_().that(template.requestBody("ignite-queue:def?operation=PUT&capacity=100", "hello101", boolean.class)).isFalse();
                 latch.countDown();
             }
         });
@@ -198,23 +209,23 @@ public class IgniteQueueTest extends AbstractIgniteTest {
         t.interrupt();
 
         // PEEK and ELEMENT.
-        assert_().that(template.requestBody("ignite:queue:def?operation=PEEK&capacity=100", null, String.class)).isEqualTo("hello0");
-        assert_().that(template.requestBody("ignite:queue:def?operation=ELEMENT&capacity=100", null, String.class)).isEqualTo("hello0");
+        assert_().that(template.requestBody("ignite-queue:def?operation=PEEK&capacity=100", null, String.class)).isEqualTo("hello0");
+        assert_().that(template.requestBody("ignite-queue:def?operation=ELEMENT&capacity=100", null, String.class)).isEqualTo("hello0");
 
         // TAKE.
-        assert_().that(template.requestBody("ignite:queue:def?operation=TAKE&capacity=100", null, String.class)).isEqualTo("hello0");
-        assert_().that(template.requestBody("ignite:queue:def?operation=SIZE&capacity=100", null, int.class)).isEqualTo(99);
+        assert_().that(template.requestBody("ignite-queue:def?operation=TAKE&capacity=100", null, String.class)).isEqualTo("hello0");
+        assert_().that(template.requestBody("ignite-queue:def?operation=SIZE&capacity=100", null, int.class)).isEqualTo(99);
 
         // Now drain.
-        assert_().that(template.requestBody("ignite:queue:def?operation=DRAIN&capacity=100", null, String[].class)).asList().hasSize(99);
-        assert_().that(template.requestBody("ignite:queue:def?operation=SIZE&capacity=100", null, int.class)).isEqualTo(0);
-        assert_().that(template.requestBody("ignite:queue:def?operation=POLL&capacity=100", null, String.class)).isNull();
+        assert_().that(template.requestBody("ignite-queue:def?operation=DRAIN&capacity=100", null, String[].class)).asList().hasSize(99);
+        assert_().that(template.requestBody("ignite-queue:def?operation=SIZE&capacity=100", null, int.class)).isEqualTo(0);
+        assert_().that(template.requestBody("ignite-queue:def?operation=POLL&capacity=100", null, String.class)).isNull();
 
         // TAKE.
         t = new Thread(new Runnable() {
             @Override
             public void run() {
-                assert_().that(template.requestBody("ignite:queue:def?operation=TAKE&capacity=100", null, String.class)).isEqualTo("hello102");
+                assert_().that(template.requestBody("ignite-queue:def?operation=TAKE&capacity=100", null, String.class)).isEqualTo("hello102");
                 latch.countDown();
             }
         });
@@ -222,7 +233,7 @@ public class IgniteQueueTest extends AbstractIgniteTest {
         t.start();
 
         // Element was returned.
-        assert_().that(template.requestBody("ignite:queue:def?operation=ADD&capacity=100", "hello102", boolean.class)).isTrue();
+        assert_().that(template.requestBody("ignite-queue:def?operation=ADD&capacity=100", "hello102", boolean.class)).isTrue();
         assert_().that(latch.await(1000, TimeUnit.MILLISECONDS)).isTrue();
 
         // POLL with a timeout.
@@ -230,7 +241,7 @@ public class IgniteQueueTest extends AbstractIgniteTest {
             @Override
             public Long call() throws Exception {
                 Stopwatch sw = Stopwatch.createStarted();
-                assert_().that(template.requestBody("ignite:queue:def?operation=POLL&timeoutMillis=1000&capacity=100", null, String.class)).isNull();
+                assert_().that(template.requestBody("ignite-queue:def?operation=POLL&timeoutMillis=1000&capacity=100", null, String.class)).isNull();
                 return sw.elapsed(TimeUnit.MILLISECONDS);
             }
         }).get()).isAtLeast(1000L);

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteSetTest.java
----------------------------------------------------------------------
diff --git a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteSetTest.java b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteSetTest.java
index 3c3c627..edb96ba 100644
--- a/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteSetTest.java
+++ b/components/camel-ignite/src/test/java/org/apache/camel/component/ignite/IgniteSetTest.java
@@ -25,6 +25,7 @@ import com.google.common.collect.Iterators;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 
+import org.apache.camel.component.ignite.set.IgniteSetComponent;
 import org.apache.camel.component.ignite.set.IgniteSetEndpoint;
 import org.apache.camel.component.ignite.set.IgniteSetOperation;
 import org.apache.camel.impl.JndiRegistry;
@@ -37,21 +38,31 @@ import static com.google.common.truth.Truth.assert_;
 
 public class IgniteSetTest extends AbstractIgniteTest {
 
+    @Override
+    protected String getScheme() {
+        return "ignite-set";
+    }
+
+    @Override
+    protected AbstractIgniteComponent createComponent() {
+        return IgniteSetComponent.fromConfiguration(createConfiguration());
+    }
+
     @Test
     public void testOperations() {
-        boolean result = template.requestBody("ignite:set:abc?operation=ADD", "hello", boolean.class);
+        boolean result = template.requestBody("ignite-set:abc?operation=ADD", "hello", boolean.class);
         assert_().that(result).isTrue();
         assert_().that(ignite().set("abc", new CollectionConfiguration()).contains("hello")).isTrue();
 
-        result = template.requestBody("ignite:set:abc?operation=CONTAINS", "hello", boolean.class);
+        result = template.requestBody("ignite-set:abc?operation=CONTAINS", "hello", boolean.class);
         assert_().that(result).isTrue();
         assert_().that(ignite().set("abc", new CollectionConfiguration()).contains("hello")).isTrue();
 
-        result = template.requestBody("ignite:set:abc?operation=REMOVE", "hello", boolean.class);
+        result = template.requestBody("ignite-set:abc?operation=REMOVE", "hello", boolean.class);
         assert_().that(result).isTrue();
         assert_().that(ignite().set("abc", new CollectionConfiguration()).contains("hello")).isFalse();
 
-        result = template.requestBody("ignite:set:abc?operation=CONTAINS", "hello", boolean.class);
+        result = template.requestBody("ignite-set:abc?operation=CONTAINS", "hello", boolean.class);
         assert_().that(result).isFalse();
     }
 
@@ -59,11 +70,11 @@ public class IgniteSetTest extends AbstractIgniteTest {
     @SuppressWarnings("unchecked")
     public void testOperations2() {
         for (int i = 0; i < 100; i++) {
-            template.requestBody("ignite:set:abc?operation=ADD", "hello" + i);
+            template.requestBody("ignite-set:abc?operation=ADD", "hello" + i);
         }
 
         // SIZE
-        int size = template.requestBody("ignite:set:abc?operation=SIZE", "hello", int.class);
+        int size = template.requestBody("ignite-set:abc?operation=SIZE", "hello", int.class);
         assert_().that(size).isEqualTo(100);
         assert_().that(ignite().set("abc", new CollectionConfiguration()).size()).isEqualTo(100);
 
@@ -73,29 +84,29 @@ public class IgniteSetTest extends AbstractIgniteTest {
         }
 
         // RETAIN_ALL
-        boolean retained = template.requestBodyAndHeader("ignite:set:abc?operation=CLEAR", toRetain, IgniteConstants.IGNITE_SETS_OPERATION, IgniteSetOperation.RETAIN_ALL, boolean.class);
+        boolean retained = template.requestBodyAndHeader("ignite-set:abc?operation=CLEAR", toRetain, IgniteConstants.IGNITE_SETS_OPERATION, IgniteSetOperation.RETAIN_ALL, boolean.class);
         assert_().that(retained).isTrue();
 
         // SIZE
-        size = template.requestBody("ignite:set:abc?operation=SIZE", "hello", int.class);
+        size = template.requestBody("ignite-set:abc?operation=SIZE", "hello", int.class);
         assert_().that(size).isEqualTo(50);
         assert_().that(ignite().set("abc", new CollectionConfiguration()).size()).isEqualTo(50);
 
         // ITERATOR
-        Iterator<String> iterator = template.requestBody("ignite:set:abc?operation=ITERATOR", "hello", Iterator.class);
+        Iterator<String> iterator = template.requestBody("ignite-set:abc?operation=ITERATOR", "hello", Iterator.class);
         assert_().that(Iterators.toArray(iterator, String.class)).asList().containsExactlyElementsIn(toRetain);
 
         // ARRAY
-        String[] array = template.requestBody("ignite:set:abc?operation=ARRAY", "hello", String[].class);
+        String[] array = template.requestBody("ignite-set:abc?operation=ARRAY", "hello", String[].class);
         assert_().that(array).asList().containsExactlyElementsIn(toRetain);
 
         // CLEAR
-        Object result = template.requestBody("ignite:set:abc?operation=CLEAR", "hello", String.class);
+        Object result = template.requestBody("ignite-set:abc?operation=CLEAR", "hello", String.class);
         assert_().that(result).isEqualTo("hello");
         assert_().that(ignite().set("abc", new CollectionConfiguration()).size()).isEqualTo(0);
 
         // SIZE
-        size = template.requestBody("ignite:set:abc?operation=SIZE", "hello", int.class);
+        size = template.requestBody("ignite-set:abc?operation=SIZE", "hello", int.class);
         assert_().that(size).isEqualTo(0);
         assert_().that(ignite().set("abc", new CollectionConfiguration()).size()).isEqualTo(0);
     }
@@ -104,14 +115,14 @@ public class IgniteSetTest extends AbstractIgniteTest {
     public void testRetainSingle() {
         // Fill data.
         for (int i = 0; i < 100; i++) {
-            template.requestBody("ignite:set:abc?operation=ADD", "hello" + i);
+            template.requestBody("ignite-set:abc?operation=ADD", "hello" + i);
         }
 
-        boolean retained = template.requestBody("ignite:set:abc?operation=RETAIN_ALL", "hello10", boolean.class);
+        boolean retained = template.requestBody("ignite-set:abc?operation=RETAIN_ALL", "hello10", boolean.class);
         assert_().that(retained).isTrue();
 
         // ARRAY
-        String[] array = template.requestBody("ignite:set:abc?operation=ARRAY", "hello", String[].class);
+        String[] array = template.requestBody("ignite-set:abc?operation=ARRAY", "hello", String[].class);
         assert_().that(array).asList().containsExactly("hello10");
     }
 
@@ -119,28 +130,28 @@ public class IgniteSetTest extends AbstractIgniteTest {
     public void testCollectionsAsCacheObject() {
         // Fill data.
         for (int i = 0; i < 100; i++) {
-            template.requestBody("ignite:set:abc?operation=ADD", "hello" + i);
+            template.requestBody("ignite-set:abc?operation=ADD", "hello" + i);
         }
 
         // Add the set.
         Set<String> toAdd = Sets.newHashSet("hello101", "hello102", "hello103");
-        template.requestBody("ignite:set:abc?operation=ADD&treatCollectionsAsCacheObjects=true", toAdd);
+        template.requestBody("ignite-set:abc?operation=ADD&treatCollectionsAsCacheObjects=true", toAdd);
 
         // Size must be 101, not 103.
-        int size = template.requestBody("ignite:set:abc?operation=SIZE", "hello", int.class);
+        int size = template.requestBody("ignite-set:abc?operation=SIZE", "hello", int.class);
         assert_().that(size).isEqualTo(101);
         assert_().that(ignite().set("abc", new CollectionConfiguration()).size()).isEqualTo(101);
         assert_().that(ignite().set("abc", new CollectionConfiguration()).contains(toAdd)).isTrue();
 
         // Check whether the Set contains the Set.
-        boolean contains = template.requestBody("ignite:set:abc?operation=CONTAINS&treatCollectionsAsCacheObjects=true", toAdd, boolean.class);
+        boolean contains = template.requestBody("ignite-set:abc?operation=CONTAINS&treatCollectionsAsCacheObjects=true", toAdd, boolean.class);
         assert_().that(contains).isTrue();
 
         // Delete the Set.
-        template.requestBody("ignite:set:abc?operation=REMOVE&treatCollectionsAsCacheObjects=true", toAdd);
+        template.requestBody("ignite-set:abc?operation=REMOVE&treatCollectionsAsCacheObjects=true", toAdd);
 
         // Size must be 100 again.
-        size = template.requestBody("ignite:set:abc?operation=SIZE", "hello", int.class);
+        size = template.requestBody("ignite-set:abc?operation=SIZE", "hello", int.class);
         assert_().that(size).isEqualTo(100);
         assert_().that(ignite().set("abc", new CollectionConfiguration()).size()).isEqualTo(100);
         assert_().that(ignite().set("abc", new CollectionConfiguration()).contains(toAdd)).isFalse();
@@ -154,7 +165,8 @@ public class IgniteSetTest extends AbstractIgniteTest {
 
         context.getRegistry(JndiRegistry.class).bind("config", configuration);
 
-        IgniteSetEndpoint igniteEndpoint = context.getEndpoint("ignite:set:abc?operation=ADD&configuration=#config", IgniteSetEndpoint.class);
+        IgniteSetEndpoint igniteEndpoint = context.getEndpoint("ignite-"
+            + "set:abc?operation=ADD&configuration=#config", IgniteSetEndpoint.class);
         template.requestBody(igniteEndpoint, "hello");
 
         assert_().that(ignite().set("abc", configuration).size()).isEqualTo(1);

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/components/camel-ignite/src/test/resources/log4j2.properties
----------------------------------------------------------------------
diff --git a/components/camel-ignite/src/test/resources/log4j2.properties b/components/camel-ignite/src/test/resources/log4j2.properties
index f982316..3e63da5 100644
--- a/components/camel-ignite/src/test/resources/log4j2.properties
+++ b/components/camel-ignite/src/test/resources/log4j2.properties
@@ -17,7 +17,7 @@
 
 appender.file.type = File
 appender.file.name = file
-appender.file.fileName = target/camel-mongodb-test.log
+appender.file.fileName = target/camel-ignite-test.log
 appender.file.layout.type = PatternLayout
 appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
 appender.out.type = Console

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/components/readme.adoc
----------------------------------------------------------------------
diff --git a/components/readme.adoc b/components/readme.adoc
index 09c9bf1..2c3bb8f 100644
--- a/components/readme.adoc
+++ b/components/readme.adoc
@@ -2,7 +2,7 @@ Components
 ^^^^^^^^^^
 
 // components: START
-Number of Components: 231 in 184 JAR artifacts (14 deprecated)
+Number of Components: 238 in 185 JAR artifacts (14 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |=======================================================================
@@ -293,6 +293,27 @@ Number of Components: 231 in 184 JAR artifacts (14 deprecated)
 | link:camel-ibatis/src/main/docs/ibatis-component.adoc[iBatis] (camel-ibatis) +
 `ibatis:statement` | 1.2 | *deprecated* Performs a query poll insert update or delete in a relational database using Apache iBATIS.
 
+| link:camel-ignite/src/main/docs/ignite-cache-component.adoc[Ignite Cache] (camel-ignite) +
+`ignite-cache:[cacheName]` | 2.17 | Ignite Cache endpoint.
+
+| link:camel-ignite/src/main/docs/ignite-compute-component.adoc[Ignite Compute] (camel-ignite) +
+`ignite-compute:[endpointId]` | 2.17 | Ignite Compute endpoint.
+
+| link:camel-ignite/src/main/docs/ignite-events-component.adoc[Ignite Events] (camel-ignite) +
+`ignite-events:[endpointId]` | 2.17 | Ignite Events endpoint. Only supports consumers.
+
+| link:camel-ignite/src/main/docs/ignite-idgen-component.adoc[Ignite ID Generator] (camel-ignite) +
+`ignite-idgen:[name]` | 2.17 | Ignite ID Generator endpoint.
+
+| link:camel-ignite/src/main/docs/ignite-messaging-component.adoc[Ignite Messaging] (camel-ignite) +
+`ignite-messaging:[topic]` | 2.17 | Ignite Messaging endpoint.
+
+| link:camel-ignite/src/main/docs/ignite-queue-component.adoc[Ignite Queues] (camel-ignite) +
+`ignite-queue:[name]` | 2.17 | Ignite Queue endpoint.
+
+| link:camel-ignite/src/main/docs/ignite-set-component.adoc[Ignite Sets] (camel-ignite) +
+`ignite-set:[name]` | 2.17 | Ignite Set endpoint.
+
 | link:camel-infinispan/src/main/docs/infinispan-component.adoc[Infinispan] (camel-infinispan) +
 `infinispan:cacheName` | 2.13 | For reading/writing from/to Infinispan distributed key/value store and data grid.
 

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index 25968df..c0787de 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -209,6 +209,13 @@
 	* [HTTP](http-component.adoc)
 	* [HTTP4](http4-component.adoc)
 	* [iBatis](ibatis-component.adoc)
+	* [Ignite Cache](ignite-cache-component.adoc)
+	* [Ignite Compute](ignite-compute-component.adoc)
+	* [Ignite Events](ignite-events-component.adoc)
+	* [Ignite ID Generator](ignite-idgen-component.adoc)
+	* [Ignite Messaging](ignite-messaging-component.adoc)
+	* [Ignite Queues](ignite-queue-component.adoc)
+	* [Ignite Sets](ignite-set-component.adoc)
 	* [IMAP](imap-component.adoc)
 	* [Infinispan](infinispan-component.adoc)
 	* [InfluxDB](influxdb-component.adoc)

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/cache/springboot/IgniteCacheComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/cache/springboot/IgniteCacheComponentAutoConfiguration.java b/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/cache/springboot/IgniteCacheComponentAutoConfiguration.java
new file mode 100644
index 0000000..211fc3e
--- /dev/null
+++ b/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/cache/springboot/IgniteCacheComponentAutoConfiguration.java
@@ -0,0 +1,114 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.ignite.cache.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.apache.camel.component.ignite.cache.IgniteCacheComponent;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.condition.ConditionMessage;
+import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
+import org.springframework.boot.bind.RelaxedPropertyResolver;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ConditionContext;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.core.type.AnnotatedTypeMetadata;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
+@Configuration
+@ConditionalOnBean(type = "org.apache.camel.spring.boot.CamelAutoConfiguration")
+@Conditional(IgniteCacheComponentAutoConfiguration.Condition.class)
+@AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
+@EnableConfigurationProperties(IgniteCacheComponentConfiguration.class)
+public class IgniteCacheComponentAutoConfiguration {
+
+    @Lazy
+    @Bean(name = "ignite-cache-component")
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(IgniteCacheComponent.class)
+    public IgniteCacheComponent configureIgniteCacheComponent(
+            CamelContext camelContext,
+            IgniteCacheComponentConfiguration configuration) throws Exception {
+        IgniteCacheComponent component = new IgniteCacheComponent();
+        component.setCamelContext(camelContext);
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null,
+                false);
+        for (Map.Entry<String, Object> entry : parameters.entrySet()) {
+            Object value = entry.getValue();
+            Class<?> paramClass = value.getClass();
+            if (paramClass.getName().endsWith("NestedConfiguration")) {
+                Class nestedClass = null;
+                try {
+                    nestedClass = (Class) paramClass.getDeclaredField(
+                            "CAMEL_NESTED_CLASS").get(null);
+                    HashMap<String, Object> nestedParameters = new HashMap<>();
+                    IntrospectionSupport.getProperties(value, nestedParameters,
+                            null, false);
+                    Object nestedProperty = nestedClass.newInstance();
+                    IntrospectionSupport.setProperties(camelContext,
+                            camelContext.getTypeConverter(), nestedProperty,
+                            nestedParameters);
+                    entry.setValue(nestedProperty);
+                } catch (NoSuchFieldException e) {
+                }
+            }
+        }
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), component, parameters);
+        return component;
+    }
+
+    @Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
+    public static class Condition extends SpringBootCondition {
+        @Override
+        public ConditionOutcome getMatchOutcome(
+                ConditionContext conditionContext,
+                AnnotatedTypeMetadata annotatedTypeMetadata) {
+            boolean groupEnabled = isEnabled(conditionContext,
+                    "camel.component.", true);
+            ConditionMessage.Builder message = ConditionMessage
+                    .forCondition("camel.component.ignite-cache");
+            if (isEnabled(conditionContext, "camel.component.ignite-cache.",
+                    groupEnabled)) {
+                return ConditionOutcome.match(message.because("enabled"));
+            }
+            return ConditionOutcome.noMatch(message.because("not enabled"));
+        }
+
+        private boolean isEnabled(
+                org.springframework.context.annotation.ConditionContext context,
+                java.lang.String prefix, boolean defaultValue) {
+            RelaxedPropertyResolver resolver = new RelaxedPropertyResolver(
+                    context.getEnvironment(), prefix);
+            return resolver.getProperty("enabled", Boolean.class, defaultValue);
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/cache/springboot/IgniteCacheComponentConfiguration.java
----------------------------------------------------------------------
diff --git a/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/cache/springboot/IgniteCacheComponentConfiguration.java b/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/cache/springboot/IgniteCacheComponentConfiguration.java
new file mode 100644
index 0000000..5e41e4b
--- /dev/null
+++ b/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/cache/springboot/IgniteCacheComponentConfiguration.java
@@ -0,0 +1,88 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.ignite.cache.springboot;
+
+import javax.annotation.Generated;
+import org.apache.ignite.Ignite;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.context.properties.NestedConfigurationProperty;
+
+/**
+ * Ignite Cache endpoint.
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
+@ConfigurationProperties(prefix = "camel.component.ignite-cache")
+public class IgniteCacheComponentConfiguration {
+
+    /**
+     * Sets the Ignite instance.
+     */
+    @NestedConfigurationProperty
+    private Ignite ignite;
+    /**
+     * Sets the resource from where to load the configuration. It can be a: URI
+     * String (URI) or an InputStream.
+     */
+    private Object configurationResource;
+    /**
+     * Allows the user to set a programmatic IgniteConfiguration.
+     */
+    @NestedConfigurationProperty
+    private IgniteConfiguration igniteConfiguration;
+    /**
+     * Whether the component should resolve property placeholders on itself when
+     * starting. Only properties which are of String type can use property
+     * placeholders.
+     */
+    private Boolean resolvePropertyPlaceholders = true;
+
+    public Ignite getIgnite() {
+        return ignite;
+    }
+
+    public void setIgnite(Ignite ignite) {
+        this.ignite = ignite;
+    }
+
+    public Object getConfigurationResource() {
+        return configurationResource;
+    }
+
+    public void setConfigurationResource(Object configurationResource) {
+        this.configurationResource = configurationResource;
+    }
+
+    public IgniteConfiguration getIgniteConfiguration() {
+        return igniteConfiguration;
+    }
+
+    public void setIgniteConfiguration(IgniteConfiguration igniteConfiguration) {
+        this.igniteConfiguration = igniteConfiguration;
+    }
+
+    public Boolean getResolvePropertyPlaceholders() {
+        return resolvePropertyPlaceholders;
+    }
+
+    public void setResolvePropertyPlaceholders(
+            Boolean resolvePropertyPlaceholders) {
+        this.resolvePropertyPlaceholders = resolvePropertyPlaceholders;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/compute/springboot/IgniteComputeComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/compute/springboot/IgniteComputeComponentAutoConfiguration.java b/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/compute/springboot/IgniteComputeComponentAutoConfiguration.java
new file mode 100644
index 0000000..731d594
--- /dev/null
+++ b/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/compute/springboot/IgniteComputeComponentAutoConfiguration.java
@@ -0,0 +1,114 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.ignite.compute.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.apache.camel.component.ignite.compute.IgniteComputeComponent;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.condition.ConditionMessage;
+import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
+import org.springframework.boot.bind.RelaxedPropertyResolver;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ConditionContext;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.core.type.AnnotatedTypeMetadata;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
+@Configuration
+@ConditionalOnBean(type = "org.apache.camel.spring.boot.CamelAutoConfiguration")
+@Conditional(IgniteComputeComponentAutoConfiguration.Condition.class)
+@AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
+@EnableConfigurationProperties(IgniteComputeComponentConfiguration.class)
+public class IgniteComputeComponentAutoConfiguration {
+
+    @Lazy
+    @Bean(name = "ignite-compute-component")
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(IgniteComputeComponent.class)
+    public IgniteComputeComponent configureIgniteComputeComponent(
+            CamelContext camelContext,
+            IgniteComputeComponentConfiguration configuration) throws Exception {
+        IgniteComputeComponent component = new IgniteComputeComponent();
+        component.setCamelContext(camelContext);
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null,
+                false);
+        for (Map.Entry<String, Object> entry : parameters.entrySet()) {
+            Object value = entry.getValue();
+            Class<?> paramClass = value.getClass();
+            if (paramClass.getName().endsWith("NestedConfiguration")) {
+                Class nestedClass = null;
+                try {
+                    nestedClass = (Class) paramClass.getDeclaredField(
+                            "CAMEL_NESTED_CLASS").get(null);
+                    HashMap<String, Object> nestedParameters = new HashMap<>();
+                    IntrospectionSupport.getProperties(value, nestedParameters,
+                            null, false);
+                    Object nestedProperty = nestedClass.newInstance();
+                    IntrospectionSupport.setProperties(camelContext,
+                            camelContext.getTypeConverter(), nestedProperty,
+                            nestedParameters);
+                    entry.setValue(nestedProperty);
+                } catch (NoSuchFieldException e) {
+                }
+            }
+        }
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), component, parameters);
+        return component;
+    }
+
+    @Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
+    public static class Condition extends SpringBootCondition {
+        @Override
+        public ConditionOutcome getMatchOutcome(
+                ConditionContext conditionContext,
+                AnnotatedTypeMetadata annotatedTypeMetadata) {
+            boolean groupEnabled = isEnabled(conditionContext,
+                    "camel.component.", true);
+            ConditionMessage.Builder message = ConditionMessage
+                    .forCondition("camel.component.ignite-compute");
+            if (isEnabled(conditionContext, "camel.component.ignite-compute.",
+                    groupEnabled)) {
+                return ConditionOutcome.match(message.because("enabled"));
+            }
+            return ConditionOutcome.noMatch(message.because("not enabled"));
+        }
+
+        private boolean isEnabled(
+                org.springframework.context.annotation.ConditionContext context,
+                java.lang.String prefix, boolean defaultValue) {
+            RelaxedPropertyResolver resolver = new RelaxedPropertyResolver(
+                    context.getEnvironment(), prefix);
+            return resolver.getProperty("enabled", Boolean.class, defaultValue);
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/compute/springboot/IgniteComputeComponentConfiguration.java
----------------------------------------------------------------------
diff --git a/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/compute/springboot/IgniteComputeComponentConfiguration.java b/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/compute/springboot/IgniteComputeComponentConfiguration.java
new file mode 100644
index 0000000..920de79
--- /dev/null
+++ b/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/compute/springboot/IgniteComputeComponentConfiguration.java
@@ -0,0 +1,88 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.ignite.compute.springboot;
+
+import javax.annotation.Generated;
+import org.apache.ignite.Ignite;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.context.properties.NestedConfigurationProperty;
+
+/**
+ * Ignite Compute endpoint.
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
+@ConfigurationProperties(prefix = "camel.component.ignite-compute")
+public class IgniteComputeComponentConfiguration {
+
+    /**
+     * Sets the Ignite instance.
+     */
+    @NestedConfigurationProperty
+    private Ignite ignite;
+    /**
+     * Sets the resource from where to load the configuration. It can be a: URI
+     * String (URI) or an InputStream.
+     */
+    private Object configurationResource;
+    /**
+     * Allows the user to set a programmatic IgniteConfiguration.
+     */
+    @NestedConfigurationProperty
+    private IgniteConfiguration igniteConfiguration;
+    /**
+     * Whether the component should resolve property placeholders on itself when
+     * starting. Only properties which are of String type can use property
+     * placeholders.
+     */
+    private Boolean resolvePropertyPlaceholders = true;
+
+    public Ignite getIgnite() {
+        return ignite;
+    }
+
+    public void setIgnite(Ignite ignite) {
+        this.ignite = ignite;
+    }
+
+    public Object getConfigurationResource() {
+        return configurationResource;
+    }
+
+    public void setConfigurationResource(Object configurationResource) {
+        this.configurationResource = configurationResource;
+    }
+
+    public IgniteConfiguration getIgniteConfiguration() {
+        return igniteConfiguration;
+    }
+
+    public void setIgniteConfiguration(IgniteConfiguration igniteConfiguration) {
+        this.igniteConfiguration = igniteConfiguration;
+    }
+
+    public Boolean getResolvePropertyPlaceholders() {
+        return resolvePropertyPlaceholders;
+    }
+
+    public void setResolvePropertyPlaceholders(
+            Boolean resolvePropertyPlaceholders) {
+        this.resolvePropertyPlaceholders = resolvePropertyPlaceholders;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/events/springboot/IgniteEventsComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/events/springboot/IgniteEventsComponentAutoConfiguration.java b/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/events/springboot/IgniteEventsComponentAutoConfiguration.java
new file mode 100644
index 0000000..a91d8a6
--- /dev/null
+++ b/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/events/springboot/IgniteEventsComponentAutoConfiguration.java
@@ -0,0 +1,114 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.ignite.events.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.apache.camel.component.ignite.events.IgniteEventsComponent;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.AutoConfigureAfter;
+import org.springframework.boot.autoconfigure.condition.ConditionMessage;
+import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
+import org.springframework.boot.bind.RelaxedPropertyResolver;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ConditionContext;
+import org.springframework.context.annotation.Conditional;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.core.type.AnnotatedTypeMetadata;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
+@Configuration
+@ConditionalOnBean(type = "org.apache.camel.spring.boot.CamelAutoConfiguration")
+@Conditional(IgniteEventsComponentAutoConfiguration.Condition.class)
+@AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
+@EnableConfigurationProperties(IgniteEventsComponentConfiguration.class)
+public class IgniteEventsComponentAutoConfiguration {
+
+    @Lazy
+    @Bean(name = "ignite-events-component")
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(IgniteEventsComponent.class)
+    public IgniteEventsComponent configureIgniteEventsComponent(
+            CamelContext camelContext,
+            IgniteEventsComponentConfiguration configuration) throws Exception {
+        IgniteEventsComponent component = new IgniteEventsComponent();
+        component.setCamelContext(camelContext);
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null,
+                false);
+        for (Map.Entry<String, Object> entry : parameters.entrySet()) {
+            Object value = entry.getValue();
+            Class<?> paramClass = value.getClass();
+            if (paramClass.getName().endsWith("NestedConfiguration")) {
+                Class nestedClass = null;
+                try {
+                    nestedClass = (Class) paramClass.getDeclaredField(
+                            "CAMEL_NESTED_CLASS").get(null);
+                    HashMap<String, Object> nestedParameters = new HashMap<>();
+                    IntrospectionSupport.getProperties(value, nestedParameters,
+                            null, false);
+                    Object nestedProperty = nestedClass.newInstance();
+                    IntrospectionSupport.setProperties(camelContext,
+                            camelContext.getTypeConverter(), nestedProperty,
+                            nestedParameters);
+                    entry.setValue(nestedProperty);
+                } catch (NoSuchFieldException e) {
+                }
+            }
+        }
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), component, parameters);
+        return component;
+    }
+
+    @Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
+    public static class Condition extends SpringBootCondition {
+        @Override
+        public ConditionOutcome getMatchOutcome(
+                ConditionContext conditionContext,
+                AnnotatedTypeMetadata annotatedTypeMetadata) {
+            boolean groupEnabled = isEnabled(conditionContext,
+                    "camel.component.", true);
+            ConditionMessage.Builder message = ConditionMessage
+                    .forCondition("camel.component.ignite-events");
+            if (isEnabled(conditionContext, "camel.component.ignite-events.",
+                    groupEnabled)) {
+                return ConditionOutcome.match(message.because("enabled"));
+            }
+            return ConditionOutcome.noMatch(message.because("not enabled"));
+        }
+
+        private boolean isEnabled(
+                org.springframework.context.annotation.ConditionContext context,
+                java.lang.String prefix, boolean defaultValue) {
+            RelaxedPropertyResolver resolver = new RelaxedPropertyResolver(
+                    context.getEnvironment(), prefix);
+            return resolver.getProperty("enabled", Boolean.class, defaultValue);
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/df656782/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/events/springboot/IgniteEventsComponentConfiguration.java
----------------------------------------------------------------------
diff --git a/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/events/springboot/IgniteEventsComponentConfiguration.java b/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/events/springboot/IgniteEventsComponentConfiguration.java
new file mode 100644
index 0000000..db3ff99
--- /dev/null
+++ b/platforms/spring-boot/components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/events/springboot/IgniteEventsComponentConfiguration.java
@@ -0,0 +1,88 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.ignite.events.springboot;
+
+import javax.annotation.Generated;
+import org.apache.ignite.Ignite;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.context.properties.NestedConfigurationProperty;
+
+/**
+ * Ignite Events endpoint. Only supports consumers.
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
+@ConfigurationProperties(prefix = "camel.component.ignite-events")
+public class IgniteEventsComponentConfiguration {
+
+    /**
+     * Sets the Ignite instance.
+     */
+    @NestedConfigurationProperty
+    private Ignite ignite;
+    /**
+     * Sets the resource from where to load the configuration. It can be a: URI
+     * String (URI) or an InputStream.
+     */
+    private Object configurationResource;
+    /**
+     * Allows the user to set a programmatic IgniteConfiguration.
+     */
+    @NestedConfigurationProperty
+    private IgniteConfiguration igniteConfiguration;
+    /**
+     * Whether the component should resolve property placeholders on itself when
+     * starting. Only properties which are of String type can use property
+     * placeholders.
+     */
+    private Boolean resolvePropertyPlaceholders = true;
+
+    public Ignite getIgnite() {
+        return ignite;
+    }
+
+    public void setIgnite(Ignite ignite) {
+        this.ignite = ignite;
+    }
+
+    public Object getConfigurationResource() {
+        return configurationResource;
+    }
+
+    public void setConfigurationResource(Object configurationResource) {
+        this.configurationResource = configurationResource;
+    }
+
+    public IgniteConfiguration getIgniteConfiguration() {
+        return igniteConfiguration;
+    }
+
+    public void setIgniteConfiguration(IgniteConfiguration igniteConfiguration) {
+        this.igniteConfiguration = igniteConfiguration;
+    }
+
+    public Boolean getResolvePropertyPlaceholders() {
+        return resolvePropertyPlaceholders;
+    }
+
+    public void setResolvePropertyPlaceholders(
+            Boolean resolvePropertyPlaceholders) {
+        this.resolvePropertyPlaceholders = resolvePropertyPlaceholders;
+    }
+}
\ No newline at end of file