This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new badddc5  [CAMEL-14932] Add new Splunk HEC component (#3760)
badddc5 is described below

commit badddc585a8116e849958bd68939ba9607906d27
Author: Antoine Toulme <atou...@users.noreply.github.com>
AuthorDate: Wed Apr 22 21:47:12 2020 -0700

    [CAMEL-14932] Add new Splunk HEC component (#3760)
    
    * [CAMEL-14932] Add new Splunk HEC component
    
    * address code review comments
---
 apache-camel/src/main/descriptors/common-bin.xml   |   1 +
 bom/camel-bom/pom.xml                              |   5 +
 components/camel-splunk-hec/pom.xml                |  78 +++
 .../splunkhec/SplunkHECComponentConfigurer.java    |  55 ++
 .../splunkhec/SplunkHECEndpointConfigurer.java     |  88 +++
 .../services/org/apache/camel/component.properties |   7 +
 .../services/org/apache/camel/component/splunk-hec |   2 +
 .../apache/camel/configurer/splunk-hec-component   |   2 +
 .../apache/camel/configurer/splunk-hec-endpoint    |   2 +
 .../camel/component/splunkhec/splunk-hec.json      |  43 ++
 .../src/main/docs/splunk-hec-component.adoc        | 103 ++++
 .../component/splunkhec/SplunkHECComponent.java    |  40 ++
 .../splunkhec/SplunkHECConfiguration.java          | 117 ++++
 .../component/splunkhec/SplunkHECEndpoint.java     | 103 ++++
 .../component/splunkhec/SplunkHECProducer.java     | 122 ++++
 .../splunkhec/SplunkHECConfigurationTest.java      |  68 +++
 .../component/splunkhec/SplunkHECEndpointTest.java |  64 ++
 .../integration/SplunkHECIntegrationTest.java      |  95 +++
 .../src/test/resources/log4j2.properties           |  28 +
 components/pom.xml                                 |   1 +
 core/camel-allcomponents/pom.xml                   |   4 +
 .../component/ComponentsBuilderFactory.java        |  12 +
 .../dsl/SplunkHecComponentBuilderFactory.java      | 131 ++++
 .../src/generated/resources/metadata.json          |  22 +
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 +
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 +
 .../dsl/SplunkHECEndpointBuilderFactory.java       | 662 +++++++++++++++++++++
 docs/components/modules/ROOT/nav.adoc              |   1 +
 .../modules/ROOT/pages/splunk-hec-component.adoc   | 105 ++++
 parent/pom.xml                                     |   5 +
 30 files changed, 1968 insertions(+)

diff --git a/apache-camel/src/main/descriptors/common-bin.xml 
b/apache-camel/src/main/descriptors/common-bin.xml
index c6c2aae..bd71df9 100644
--- a/apache-camel/src/main/descriptors/common-bin.xml
+++ b/apache-camel/src/main/descriptors/common-bin.xml
@@ -328,6 +328,7 @@
         <include>org.apache.camel:camel-soroush</include>
         <include>org.apache.camel:camel-spark</include>
         <include>org.apache.camel:camel-splunk</include>
+        <include>org.apache.camel:camel-splunk-hec</include>
         <include>org.apache.camel:camel-spring</include>
         <include>org.apache.camel:camel-spring-batch</include>
         <include>org.apache.camel:camel-spring-integration</include>
diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 6942edd..9184167 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -1590,6 +1590,11 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-splunk-hec</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-spring</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/components/camel-splunk-hec/pom.xml 
b/components/camel-splunk-hec/pom.xml
new file mode 100644
index 0000000..2c2ebbd
--- /dev/null
+++ b/components/camel-splunk-hec/pom.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>components</artifactId>
+        <version>3.3.0-SNAPSHOT</version>
+    </parent>
+
+    <name>Camel :: Splunk HEC</name>
+    <artifactId>camel-splunk-hec</artifactId>
+    <description>Camel :: Splunk HEC component</description>
+    <packaging>jar</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-support</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <version>${httpclient4-version}</version>
+        </dependency>
+
+        <!-- testing -->
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-api</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-slf4j-impl</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+</project>
diff --git 
a/components/camel-splunk-hec/src/generated/java/org/apache/camel/component/splunkhec/SplunkHECComponentConfigurer.java
 
b/components/camel-splunk-hec/src/generated/java/org/apache/camel/component/splunkhec/SplunkHECComponentConfigurer.java
new file mode 100644
index 0000000..a46cef4
--- /dev/null
+++ 
b/components/camel-splunk-hec/src/generated/java/org/apache/camel/component/splunkhec/SplunkHECComponentConfigurer.java
@@ -0,0 +1,55 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.splunkhec;
+
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.spi.PropertyConfigurerGetter;
+import org.apache.camel.util.CaseInsensitiveMap;
+import org.apache.camel.support.component.PropertyConfigurerSupport;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@SuppressWarnings("unchecked")
+public class SplunkHECComponentConfigurer extends PropertyConfigurerSupport 
implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+    @Override
+    public boolean configure(CamelContext camelContext, Object obj, String 
name, Object value, boolean ignoreCase) {
+        SplunkHECComponent target = (SplunkHECComponent) obj;
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "basicpropertybinding":
+        case "basicPropertyBinding": 
target.setBasicPropertyBinding(property(camelContext, boolean.class, value)); 
return true;
+        case "bridgeerrorhandler":
+        case "bridgeErrorHandler": 
target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); 
return true;
+        case "lazystartproducer":
+        case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
+        default: return false;
+        }
+    }
+
+    @Override
+    public Map<String, Object> getAllOptions(Object target) {
+        Map<String, Object> answer = new CaseInsensitiveMap();
+        answer.put("basicPropertyBinding", boolean.class);
+        answer.put("bridgeErrorHandler", boolean.class);
+        answer.put("lazyStartProducer", boolean.class);
+        return answer;
+    }
+
+    @Override
+    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+        SplunkHECComponent target = (SplunkHECComponent) obj;
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "basicpropertybinding":
+        case "basicPropertyBinding": return target.isBasicPropertyBinding();
+        case "bridgeerrorhandler":
+        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
+        case "lazystartproducer":
+        case "lazyStartProducer": return target.isLazyStartProducer();
+        default: return null;
+        }
+    }
+}
+
diff --git 
a/components/camel-splunk-hec/src/generated/java/org/apache/camel/component/splunkhec/SplunkHECEndpointConfigurer.java
 
b/components/camel-splunk-hec/src/generated/java/org/apache/camel/component/splunkhec/SplunkHECEndpointConfigurer.java
new file mode 100644
index 0000000..e05d045
--- /dev/null
+++ 
b/components/camel-splunk-hec/src/generated/java/org/apache/camel/component/splunkhec/SplunkHECEndpointConfigurer.java
@@ -0,0 +1,88 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.splunkhec;
+
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.spi.PropertyConfigurerGetter;
+import org.apache.camel.util.CaseInsensitiveMap;
+import org.apache.camel.support.component.PropertyConfigurerSupport;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@SuppressWarnings("unchecked")
+public class SplunkHECEndpointConfigurer extends PropertyConfigurerSupport 
implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+    @Override
+    public boolean configure(CamelContext camelContext, Object obj, String 
name, Object value, boolean ignoreCase) {
+        SplunkHECEndpoint target = (SplunkHECEndpoint) obj;
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "basicpropertybinding":
+        case "basicPropertyBinding": 
target.setBasicPropertyBinding(property(camelContext, boolean.class, value)); 
return true;
+        case "bridgeerrorhandler":
+        case "bridgeErrorHandler": 
target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); 
return true;
+        case "exceptionhandler":
+        case "exceptionHandler": 
target.setExceptionHandler(property(camelContext, 
org.apache.camel.spi.ExceptionHandler.class, value)); return true;
+        case "exchangepattern":
+        case "exchangePattern": 
target.setExchangePattern(property(camelContext, 
org.apache.camel.ExchangePattern.class, value)); return true;
+        case "host": target.getConfiguration().setHost(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "https": 
target.getConfiguration().setHttps(property(camelContext, boolean.class, 
value)); return true;
+        case "index": 
target.getConfiguration().setIndex(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "lazystartproducer":
+        case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
+        case "skiptlsverify": 
target.getConfiguration().setSkiptlsverify(property(camelContext, 
boolean.class, value)); return true;
+        case "source": 
target.getConfiguration().setSource(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "sourcetype":
+        case "sourceType": 
target.getConfiguration().setSourceType(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "synchronous": target.setSynchronous(property(camelContext, 
boolean.class, value)); return true;
+        default: return false;
+        }
+    }
+
+    @Override
+    public Map<String, Object> getAllOptions(Object target) {
+        Map<String, Object> answer = new CaseInsensitiveMap();
+        answer.put("basicPropertyBinding", boolean.class);
+        answer.put("bridgeErrorHandler", boolean.class);
+        answer.put("exceptionHandler", 
org.apache.camel.spi.ExceptionHandler.class);
+        answer.put("exchangePattern", org.apache.camel.ExchangePattern.class);
+        answer.put("host", java.lang.String.class);
+        answer.put("https", boolean.class);
+        answer.put("index", java.lang.String.class);
+        answer.put("lazyStartProducer", boolean.class);
+        answer.put("skiptlsverify", boolean.class);
+        answer.put("source", java.lang.String.class);
+        answer.put("sourceType", java.lang.String.class);
+        answer.put("synchronous", boolean.class);
+        return answer;
+    }
+
+    @Override
+    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+        SplunkHECEndpoint target = (SplunkHECEndpoint) obj;
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "basicpropertybinding":
+        case "basicPropertyBinding": return target.isBasicPropertyBinding();
+        case "bridgeerrorhandler":
+        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
+        case "exceptionhandler":
+        case "exceptionHandler": return target.getExceptionHandler();
+        case "exchangepattern":
+        case "exchangePattern": return target.getExchangePattern();
+        case "host": return target.getConfiguration().getHost();
+        case "https": return target.getConfiguration().isHttps();
+        case "index": return target.getConfiguration().getIndex();
+        case "lazystartproducer":
+        case "lazyStartProducer": return target.isLazyStartProducer();
+        case "skiptlsverify": return 
target.getConfiguration().isSkiptlsverify();
+        case "source": return target.getConfiguration().getSource();
+        case "sourcetype":
+        case "sourceType": return target.getConfiguration().getSourceType();
+        case "synchronous": return target.isSynchronous();
+        default: return null;
+        }
+    }
+}
+
diff --git 
a/components/camel-splunk-hec/src/generated/resources/META-INF/services/org/apache/camel/component.properties
 
b/components/camel-splunk-hec/src/generated/resources/META-INF/services/org/apache/camel/component.properties
new file mode 100644
index 0000000..6a415d9
--- /dev/null
+++ 
b/components/camel-splunk-hec/src/generated/resources/META-INF/services/org/apache/camel/component.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+components=splunk-hec
+groupId=org.apache.camel
+artifactId=camel-splunk-hec
+version=3.3.0-SNAPSHOT
+projectName=Camel :: Splunk HEC
+projectDescription=Camel :: Splunk HEC component
diff --git 
a/components/camel-splunk-hec/src/generated/resources/META-INF/services/org/apache/camel/component/splunk-hec
 
b/components/camel-splunk-hec/src/generated/resources/META-INF/services/org/apache/camel/component/splunk-hec
new file mode 100644
index 0000000..ab76641
--- /dev/null
+++ 
b/components/camel-splunk-hec/src/generated/resources/META-INF/services/org/apache/camel/component/splunk-hec
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.splunkhec.SplunkHECComponent
diff --git 
a/components/camel-splunk-hec/src/generated/resources/META-INF/services/org/apache/camel/configurer/splunk-hec-component
 
b/components/camel-splunk-hec/src/generated/resources/META-INF/services/org/apache/camel/configurer/splunk-hec-component
new file mode 100644
index 0000000..0a509f6
--- /dev/null
+++ 
b/components/camel-splunk-hec/src/generated/resources/META-INF/services/org/apache/camel/configurer/splunk-hec-component
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.splunkhec.SplunkHECComponentConfigurer
diff --git 
a/components/camel-splunk-hec/src/generated/resources/META-INF/services/org/apache/camel/configurer/splunk-hec-endpoint
 
b/components/camel-splunk-hec/src/generated/resources/META-INF/services/org/apache/camel/configurer/splunk-hec-endpoint
new file mode 100644
index 0000000..cd0bb93
--- /dev/null
+++ 
b/components/camel-splunk-hec/src/generated/resources/META-INF/services/org/apache/camel/configurer/splunk-hec-endpoint
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.splunkhec.SplunkHECEndpointConfigurer
diff --git 
a/components/camel-splunk-hec/src/generated/resources/org/apache/camel/component/splunkhec/splunk-hec.json
 
b/components/camel-splunk-hec/src/generated/resources/org/apache/camel/component/splunkhec/splunk-hec.json
new file mode 100644
index 0000000..fd7beff
--- /dev/null
+++ 
b/components/camel-splunk-hec/src/generated/resources/org/apache/camel/component/splunkhec/splunk-hec.json
@@ -0,0 +1,43 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "splunk-hec",
+    "title": "Splunk HEC",
+    "description": "The splunk component allows to publish events in Splunk 
using the HTTP Event Collector.",
+    "deprecated": false,
+    "firstVersion": "3.3.0",
+    "label": "log,monitoring",
+    "javaType": "org.apache.camel.component.splunkhec.SplunkHECComponent",
+    "supportLevel": "Stable",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-splunk-hec",
+    "version": "3.3.0-SNAPSHOT",
+    "scheme": "splunk-hec",
+    "extendsScheme": "",
+    "syntax": "splunk-hec:endpoint\/token",
+    "async": false,
+    "consumerOnly": false,
+    "producerOnly": false,
+    "lenientProperties": false
+  },
+  "componentProperties": {
+    "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by [...]
+    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a producer may otherwise 
fail during starting and cause the r [...]
+    "basicPropertyBinding": { "kind": "property", "displayName": "Basic 
Property Binding", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities" }
+  },
+  "properties": {
+    "endpointUri": { "kind": "path", "displayName": "Endpoint Uri", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": 
"Splunk host URI" },
+    "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled b [...]
+    "exceptionHandler": { "kind": "parameter", "displayName": "Exception 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "secret": false, "description": "To let the consumer use a 
custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled 
then this option is not in use. By default the consumer will deal with [...]
+    "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
+    "index": { "kind": "parameter", "displayName": "Index", "group": 
"producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.splunkhec.SplunkHECConfiguration", 
"configurationField": "configuration", "description": "Splunk index to write 
to" },
+    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a producer may otherwise 
fail during starting and cause the  [...]
+    "source": { "kind": "parameter", "displayName": "Source", "group": 
"producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.splunkhec.SplunkHECConfiguration", 
"configurationField": "configuration", "description": "Splunk source argument" 
},
+    "sourceType": { "kind": "parameter", "displayName": "Source Type", 
"group": "producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.splunkhec.SplunkHECConfiguration", 
"configurationField": "configuration", "description": "Splunk sourcetype 
argument" },
+    "basicPropertyBinding": { "kind": "parameter", "displayName": "Basic 
Property Binding", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Whether the endpoint should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities" },
+    "synchronous": { "kind": "parameter", "displayName": "Synchronous", 
"group": "advanced", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": 
"false", "description": "Sets whether synchronous processing should be strictly 
used, or Camel is allowed to use asynchronous processing (if supported)." },
+    "host": { "kind": "parameter", "displayName": "Host", "group": "host", 
"label": "host", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "configurationClass": 
"org.apache.camel.component.splunkhec.SplunkHECConfiguration", 
"configurationField": "configuration", "description": "Splunk host." },
+    "https": { "kind": "parameter", "displayName": "Https", "group": "https", 
"label": "https", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.splunkhec.SplunkHECConfiguration", 
"configurationField": "configuration", "description": "Contact HEC over https." 
},
+    "skiptlsverify": { "kind": "parameter", "displayName": "Skiptlsverify", 
"group": "skiptlsverify", "label": "skiptlsverify", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.splunkhec.SplunkHECConfiguration", 
"configurationField": "configuration", "description": "Splunk HEC TLS 
verification." }
+  }
+}
diff --git 
a/components/camel-splunk-hec/src/main/docs/splunk-hec-component.adoc 
b/components/camel-splunk-hec/src/main/docs/splunk-hec-component.adoc
new file mode 100644
index 0000000..287a705
--- /dev/null
+++ b/components/camel-splunk-hec/src/main/docs/splunk-hec-component.adoc
@@ -0,0 +1,103 @@
+[[splunk-hec-component]]
+= Splunk HEC Component
+:docTitle: Splunk HEC
+:artifactId: camel-splunk-hec
+:description: The splunk component allows to publish events in Splunk using 
the HTTP Event Collector.
+:since: 3.3
+:supportLevel: Stable
+:component-header: Both producer and consumer are supported
+
+*Since Camel {since}*
+
+*{component-header}*
+
+The Splunk HEC component allows to send data to Splunk using the
+https://dev.splunk.com/enterprise/docs/dataapps/httpeventcollector/[HTTP Event 
Collector].
+
+Maven users will need to add the following dependency to their pom.xml
+for this component:
+
+[source,xml]
+---------------------------------------------
+ <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-splunk-hec</artifactId>
+        <version>${camel-version}</version>
+</dependency>
+---------------------------------------------
+
+== URI format
+
+[source,java]
+-------------------------------
+  splunk-hec:[endpoint]/[token]?[options]
+-------------------------------
+
+
+// component options: START
+The Splunk HEC component supports 3 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions, that will be logged at WARN or ERROR level and ignored. | false | 
boolean
+| *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
+| *basicPropertyBinding* (advanced) | Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities | false | boolean
+|===
+// component options: END
+
+
+
+// endpoint options: START
+The Splunk HEC endpoint is configured using URI syntax:
+
+----
+splunk-hec:endpoint/token
+----
+
+with the following path and query parameters:
+
+=== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *endpointUri* | Splunk host URI |  | String
+|===
+
+
+=== Query Parameters (12 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions, that will be logged at WARN or ERROR level and ignored. | false | 
boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom 
ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this 
option is not in use. By default the consumer will deal with exceptions, that 
will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer 
creates an exchange. The value can be one of: InOnly, InOut, InOptionalOut |  | 
ExchangePattern
+| *index* (producer) | Splunk index to write to |  | String
+| *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
+| *source* (producer) | Splunk source argument |  | String
+| *sourceType* (producer) | Splunk sourcetype argument |  | String
+| *basicPropertyBinding* (advanced) | Whether the endpoint should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities | false | boolean
+| *synchronous* (advanced) | Sets whether synchronous processing should be 
strictly used, or Camel is allowed to use asynchronous processing (if 
supported). | false | boolean
+| *host* (host) | Splunk host. |  | String
+| *https* (https) | Contact HEC over https. | false | boolean
+| *skiptlsverify* (skiptlsverify) | Splunk HEC TLS verification. | false | 
boolean
+|===
+// endpoint options: END
+
+== Message body
+The body must be serializable to JSON so it may be sent to Splunk.
+
+A `String` or a `java.util.Map` object can be serialized easily.
+
+== Use Cases
+The Splunk HEC endpoint may be used to stream data to Splunk for ingestion.
+
+It is meant for high volume ingestion of machine data.
+
+include::camel-spring-boot::page$splunk-starter.adoc[]
diff --git 
a/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECComponent.java
 
b/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECComponent.java
new file mode 100644
index 0000000..4429906
--- /dev/null
+++ 
b/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECComponent.java
@@ -0,0 +1,40 @@
+/*
+ * 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.splunkhec;
+
+import java.util.Map;
+
+import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
+import org.apache.camel.support.DefaultComponent;
+
+/**
+ * Represents the component that manages {@link SplunkHECEndpoint}.
+ */
+@Component("splunk-hec")
+public class SplunkHECComponent extends DefaultComponent {
+
+    public SplunkHECComponent() {
+    }
+
+    @Override
+    protected Endpoint createEndpoint(String uri, String remaining, 
Map<String, Object> parameters) throws Exception {
+        SplunkHECEndpoint answer = new SplunkHECEndpoint(uri, this, new 
SplunkHECConfiguration());
+        setProperties(answer, parameters);
+        return answer;
+    }
+}
diff --git 
a/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECConfiguration.java
 
b/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECConfiguration.java
new file mode 100644
index 0000000..7ddfdd6
--- /dev/null
+++ 
b/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECConfiguration.java
@@ -0,0 +1,117 @@
+/*
+ * 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.splunkhec;
+
+import java.net.UnknownHostException;
+
+import org.apache.camel.spi.UriParam;
+import org.apache.camel.spi.UriParams;
+import org.apache.camel.util.HostUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@UriParams
+public class SplunkHECConfiguration {
+    private static final transient Logger LOG = 
LoggerFactory.getLogger(SplunkHECConfiguration.class);
+
+    @UriParam(label = "producer")
+    private String index = "camel";
+    @UriParam(label = "producer")
+    private String sourceType = "camel";
+    @UriParam(label = "producer")
+    private String source = "camel";
+    @UriParam(label = "producer")
+    private String host;
+    @UriParam(label = "producer")
+    private boolean skipTlsVerify;
+    @UriParam(label = "producer")
+    private boolean https = true;
+
+    public String getSourceType() {
+        return sourceType;
+    }
+
+    /**
+     * Splunk sourcetype argument
+     */
+    public void setSourceType(String sourceType) {
+        this.sourceType = sourceType;
+    }
+
+    public String getSource() {
+        return source;
+    }
+
+    /**
+     * Splunk source argument
+     */
+    public void setSource(String source) {
+        this.source = source;
+    }
+
+    /**
+     * Splunk index to write to
+     */
+    public void setIndex(String index) {
+        this.index = index;
+    }
+
+    public String getIndex() {
+        return index;
+    }
+
+    public String getHost() {
+        if (host == null) {
+            try {
+                host = HostUtils.getLocalHostName();
+            } catch (UnknownHostException e) {
+                LOG.warn(e.getMessage(), e);
+                host = "unknown";
+            }
+        }
+        return host;
+    }
+
+    /**
+     * Splunk host.
+     */
+    public void setHost(String host) {
+        this.host = host;
+    }
+
+    public boolean isSkipTlsVerify() {
+        return skipTlsVerify;
+    }
+
+    /**
+     * Splunk HEC TLS verification.
+     */
+    public void setSkipTlsVerify(boolean skipTlsVerify) {
+        this.skipTlsVerify = skipTlsVerify;
+    }
+
+    public boolean isHttps() {
+        return https;
+    }
+
+    /**
+     * Contact HEC over https.
+     */
+    public void setHttps(boolean https) {
+        this.https = https;
+    }
+}
diff --git 
a/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECEndpoint.java
 
b/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECEndpoint.java
new file mode 100644
index 0000000..1a941a1
--- /dev/null
+++ 
b/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECEndpoint.java
@@ -0,0 +1,103 @@
+/*
+ * 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.splunkhec;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.camel.Consumer;
+import org.apache.camel.Processor;
+import org.apache.camel.Producer;
+import org.apache.camel.spi.UriEndpoint;
+import org.apache.camel.spi.UriParam;
+import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.DefaultEndpoint;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The splunk component allows to publish events in Splunk using the HTTP 
Event Collector.
+ */
+@UriEndpoint(firstVersion = "3.3.0", scheme = "splunk-hec", title = "Splunk 
HEC", syntax = "splunk-hec:endpoint/token", label = "log,monitoring")
+public class SplunkHECEndpoint extends DefaultEndpoint {
+
+    private static final Logger LOG = 
LoggerFactory.getLogger(SplunkHECEndpoint.class);
+    private static final Pattern URI_PARSER = 
Pattern.compile("splunk-hec\\:\\/?\\/?(\\w+):(\\d+)/(\\w{8}-\\w{4}-\\w{4}-\\w{4}-\\w{12})\\??.*");
+
+    @UriPath
+    private String endpointUri;
+
+    private String splunkURL;
+
+    private String token;
+
+    @UriParam
+    private SplunkHECConfiguration configuration;
+
+    public SplunkHECEndpoint() {
+    }
+
+    public SplunkHECEndpoint(String uri, SplunkHECComponent component, 
SplunkHECConfiguration configuration) {
+        super(uri, component);
+        this.configuration = configuration;
+        Matcher match = URI_PARSER.matcher(uri);
+        if (!match.matches()) {
+            throw new IllegalArgumentException("Invalid URI: " + uri);
+        }
+        int port = Integer.valueOf(match.group(2));
+        if (port < 1 || port > 65535) {
+            throw new IllegalArgumentException("Invalid port: " + port);
+        }
+        splunkURL = match.group(1) + ":" + port;
+        token = match.group(3);
+    }
+
+    @Override
+    public Producer createProducer() {
+        return new SplunkHECProducer(this);
+    }
+
+    @Override
+    public Consumer createConsumer(Processor processor) {
+        throw new UnsupportedOperationException();
+    }
+
+    public SplunkHECConfiguration getConfiguration() {
+        return configuration;
+    }
+
+    public String getSplunkURL() {
+        return splunkURL;
+    }
+
+    public String getToken() {
+        return token;
+    }
+
+    /**
+     * Splunk host URI
+     */
+    @Override
+    public void setEndpointUri(String endpointUri) {
+        this.endpointUri = endpointUri;
+    }
+
+    @Override
+    public String getEndpointUri() {
+        return endpointUri;
+    }
+}
diff --git 
a/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECProducer.java
 
b/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECProducer.java
new file mode 100644
index 0000000..1abeca9
--- /dev/null
+++ 
b/components/camel-splunk-hec/src/main/java/org/apache/camel/component/splunkhec/SplunkHECProducer.java
@@ -0,0 +1,122 @@
+/*
+ * 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.splunkhec;
+
+
+import java.io.ByteArrayOutputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.Map;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.camel.Exchange;
+import org.apache.camel.Message;
+import org.apache.camel.support.DefaultProducer;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.conn.ssl.NoopHostnameVerifier;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.EntityTemplate;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.ssl.SSLContextBuilder;
+
+/**
+ * The Splunk HEC producer.
+ */
+public class SplunkHECProducer extends DefaultProducer {
+    private static final ObjectMapper MAPPER = new ObjectMapper();
+    private SplunkHECEndpoint endpoint;
+    private CloseableHttpClient httpClient;
+
+
+    public SplunkHECProducer(SplunkHECEndpoint endpoint) {
+        super(endpoint);
+        this.endpoint = endpoint;
+    }
+
+    @Override
+    protected void doStart() throws Exception {
+        super.doStart();
+        HttpClientBuilder builder = HttpClients.custom().
+                setUserAgent("Camel Splunk HEC/" + 
getEndpoint().getCamelContext().getVersion()).
+                setMaxConnTotal(10);
+        if (endpoint.getConfiguration().isSkipTlsVerify()) {
+            SSLContextBuilder sslbuilder = new SSLContextBuilder();
+            sslbuilder.loadTrustMaterial(null, (chain, authType) -> true);
+            SSLConnectionSocketFactory sslsf = new
+                    SSLConnectionSocketFactory(sslbuilder.build(), 
NoopHostnameVerifier.INSTANCE);
+            builder.setSSLSocketFactory(sslsf);
+        }
+        httpClient = builder.build();
+    }
+
+    @Override
+    public void process(Exchange exchange) throws Exception {
+        Map<String, Object> payload = createPayload(exchange.getIn());
+
+        HttpPost httppost = new 
HttpPost((endpoint.getConfiguration().isHttps() ? "https" : "http") + "://" + 
endpoint.getSplunkURL() + "/services/collector/event");
+        httppost.addHeader("Authorization", " Splunk " + endpoint.getToken());
+
+        EntityTemplate entityTemplate = new EntityTemplate(outputStream -> 
MAPPER.writer().writeValue(outputStream, payload));
+        
entityTemplate.setContentType(ContentType.APPLICATION_JSON.getMimeType());
+
+        httppost.setEntity(entityTemplate);
+        try (CloseableHttpResponse response = httpClient.execute(httppost)) {
+            if (response.getStatusLine().getStatusCode() != 200) {
+                ByteArrayOutputStream output = new ByteArrayOutputStream();
+                response.getEntity().writeTo(output);
+
+                throw new RuntimeException(response.getStatusLine().toString() 
+ "\n" + new String(output.toByteArray(), StandardCharsets.UTF_8));
+            }
+        }
+    }
+
+    @Override
+    protected void doStop() throws Exception {
+        super.doStop();
+        httpClient.close();
+    }
+
+    Map<String, Object> createPayload(Message message) {
+        Object body = message.getBody();
+        Map<String, Object> eventPayload = new HashMap<>();
+        eventPayload.put("body", body);
+        eventPayload.put("headers", message.getHeaders());
+        Map<String, Object> payload = new HashMap<>();
+        buildPayload(payload);
+        payload.put("event", eventPayload);
+        return payload;
+    }
+
+    private void buildPayload(Map<String, Object> payload) {
+        if (endpoint.getConfiguration().getSourceType() != null) {
+            payload.put("sourcetype", 
endpoint.getConfiguration().getSourceType());
+        }
+        if (endpoint.getConfiguration().getSource() != null) {
+            payload.put("source", endpoint.getConfiguration().getSource());
+        }
+        if (endpoint.getConfiguration().getIndex() != null) {
+            payload.put("index", endpoint.getConfiguration().getIndex());
+        }
+        if (endpoint.getConfiguration().getHost() != null) {
+            payload.put("host", endpoint.getConfiguration().getHost());
+        }
+    }
+}
diff --git 
a/components/camel-splunk-hec/src/test/java/org/apache/camel/component/splunkhec/SplunkHECConfigurationTest.java
 
b/components/camel-splunk-hec/src/test/java/org/apache/camel/component/splunkhec/SplunkHECConfigurationTest.java
new file mode 100644
index 0000000..8a9bf74
--- /dev/null
+++ 
b/components/camel-splunk-hec/src/test/java/org/apache/camel/component/splunkhec/SplunkHECConfigurationTest.java
@@ -0,0 +1,68 @@
+/*
+ * 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.splunkhec;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+public class SplunkHECConfigurationTest {
+
+    @Test
+    public void testHostDefaultIsNotNull() {
+        SplunkHECConfiguration config = new SplunkHECConfiguration();
+        assertNotNull(config.getHost());
+    }
+
+    @Test
+    public void testHostSet() {
+        SplunkHECConfiguration config = new SplunkHECConfiguration();
+        config.setHost("mine");
+        assertEquals("mine", config.getHost());
+    }
+
+    @Test
+    public void testDefaultIndex() {
+        SplunkHECConfiguration config = new SplunkHECConfiguration();
+        assertEquals("camel", config.getIndex());
+    }
+
+    @Test
+    public void testDefaultSource() {
+        SplunkHECConfiguration config = new SplunkHECConfiguration();
+        assertEquals("camel", config.getSource());
+    }
+
+    @Test
+    public void testDefaultSourceType() {
+        SplunkHECConfiguration config = new SplunkHECConfiguration();
+        assertEquals("camel", config.getSourceType());
+    }
+
+    @Test
+    public void testDefaultSkipTlsVerifyIsFalse() {
+        SplunkHECConfiguration config = new SplunkHECConfiguration();
+        assertEquals(false, config.isSkipTlsVerify());
+    }
+
+    @Test
+    public void testDefaultHttps() {
+        SplunkHECConfiguration config = new SplunkHECConfiguration();
+        assertEquals(true, config.isHttps());
+    }
+}
diff --git 
a/components/camel-splunk-hec/src/test/java/org/apache/camel/component/splunkhec/SplunkHECEndpointTest.java
 
b/components/camel-splunk-hec/src/test/java/org/apache/camel/component/splunkhec/SplunkHECEndpointTest.java
new file mode 100644
index 0000000..f14b495
--- /dev/null
+++ 
b/components/camel-splunk-hec/src/test/java/org/apache/camel/component/splunkhec/SplunkHECEndpointTest.java
@@ -0,0 +1,64 @@
+/*
+ * 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.splunkhec;
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThrows;
+
+public class SplunkHECEndpointTest {
+    @Test
+    public void testInvalidEndpoint() {
+        SplunkHECConfiguration configuration = new SplunkHECConfiguration();
+        SplunkHECComponent component = new SplunkHECComponent();
+        assertThrows(IllegalArgumentException.class, () -> new 
SplunkHECEndpoint("", component, configuration));
+    }
+
+    @Test
+    public void testInvalidURL() {
+        SplunkHECConfiguration configuration = new SplunkHECConfiguration();
+        SplunkHECComponent component = new SplunkHECComponent();
+        assertThrows(IllegalArgumentException.class, () -> new 
SplunkHECEndpoint("splunk-hec:yo,lo:1234/11111111-1111-1111-1111-111111111111", 
component, configuration));
+    }
+
+    @Test
+    public void testValid() {
+        SplunkHECConfiguration configuration = new SplunkHECConfiguration();
+        SplunkHECComponent component = new SplunkHECComponent();
+        SplunkHECEndpoint endpoint = new 
SplunkHECEndpoint("splunk-hec:localhost:18808/11111111-1111-1111-1111-111111111111",
 component, configuration);
+        assertEquals("localhost:18808", endpoint.getSplunkURL());
+        assertEquals("11111111-1111-1111-1111-111111111111", 
endpoint.getToken());
+    }
+
+    @Test
+    public void testValidWithOptions() {
+        SplunkHECConfiguration configuration = new SplunkHECConfiguration();
+        SplunkHECComponent component = new SplunkHECComponent();
+        SplunkHECEndpoint endpoint = new 
SplunkHECEndpoint("splunk-hec:localhost:18808/11111111-1111-1111-1111-111111111111?index=foo",
 component, configuration);
+        assertEquals("localhost:18808", endpoint.getSplunkURL());
+        assertEquals("11111111-1111-1111-1111-111111111111", 
endpoint.getToken());
+    }
+
+    @Test
+    public void testInvalidPort() {
+        SplunkHECConfiguration configuration = new SplunkHECConfiguration();
+        SplunkHECComponent component = new SplunkHECComponent();
+        Exception e = assertThrows(IllegalArgumentException.class, () -> new 
SplunkHECEndpoint("splunk-hec:yolo:188508/11111111-1111-1111-1111-111111111111",
 component, configuration));
+        assertEquals("Invalid port: 188508", e.getMessage());
+    }
+}
diff --git 
a/components/camel-splunk-hec/src/test/java/org/apache/camel/component/splunkhec/integration/SplunkHECIntegrationTest.java
 
b/components/camel-splunk-hec/src/test/java/org/apache/camel/component/splunkhec/integration/SplunkHECIntegrationTest.java
new file mode 100644
index 0000000..cc6642e
--- /dev/null
+++ 
b/components/camel-splunk-hec/src/test/java/org/apache/camel/component/splunkhec/integration/SplunkHECIntegrationTest.java
@@ -0,0 +1,95 @@
+/*
+ * 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.splunkhec.integration;
+
+import java.util.Collections;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Exchange;
+import org.apache.camel.RoutesBuilder;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.component.splunkhec.SplunkHECComponent;
+import org.apache.camel.component.splunkhec.SplunkHECConfiguration;
+import org.apache.camel.component.splunkhec.SplunkHECEndpoint;
+import org.apache.camel.component.splunkhec.SplunkHECProducer;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.support.DefaultExchange;
+import org.apache.camel.support.DefaultMessage;
+import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Ignore;
+import org.junit.Test;
+
+@Ignore("run manually since it requires a running local splunk server")
+public class SplunkHECIntegrationTest extends CamelTestSupport {
+
+    @Test
+    public void testSendHEC() throws Exception {
+        CamelContext ctx = new DefaultCamelContext();
+
+        SplunkHECConfiguration configuration = new SplunkHECConfiguration();
+        configuration.setSkipTlsVerify(true);
+        configuration.setIndex("camel");
+        configuration.setSource("camel");
+        configuration.setSourceType("camel");
+        SplunkHECComponent component = new SplunkHECComponent();
+        SplunkHECEndpoint endpoint = new 
SplunkHECEndpoint("splunk-hec:localhost:8088/4b35e71f-6a0f-4bab-94ce-f591ff45eecd",
 component, configuration);
+        assertEquals("4b35e71f-6a0f-4bab-94ce-f591ff45eecd", 
endpoint.getToken());
+        endpoint.setCamelContext(ctx);
+        SplunkHECProducer producer = new SplunkHECProducer(endpoint);
+        producer.start();
+
+        Exchange ex = new DefaultExchange(ctx);
+        DefaultMessage message = new DefaultMessage(ex);
+        message.setBody("TEST sending to Splunk");
+        message.setHeader("foo", "bar");
+        ex.setIn(message);
+        producer.process(ex);
+
+        Exchange ex2 = new DefaultExchange(ctx);
+        DefaultMessage message2 = new DefaultMessage(ex2);
+        message2.setBody(Collections.singletonMap("key", "value"));
+        ex2.setIn(message2);
+        producer.process(ex2);
+
+        Exchange ex3 = new DefaultExchange(ctx);
+        DefaultMessage message3 = new DefaultMessage(ex3);
+        message3.setBody(null);
+        ex3.setIn(message3);
+        producer.process(ex3);
+
+        producer.stop();
+    }
+
+    @Test
+    public void testCamelRoute() throws InterruptedException {
+        MockEndpoint mock = getMockEndpoint("mock:hec-result");
+        mock.expectedMinimumMessageCount(1);
+
+        template.sendBodyAndHeader("direct:hec", "My splunk data", "header", 
"headerValue");
+        assertMockEndpointsSatisfied();
+    }
+
+    @Override
+    protected RoutesBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            public void configure() {
+                
from("direct:hec").to("splunk-hec:localhost:8088/4b35e71f-6a0f-4bab-94ce-f591ff45eecd?source=camelsource&skipTlsVerify=true").to("mock:hec-result");
+            }
+        };
+    }
+}
diff --git a/components/camel-splunk-hec/src/test/resources/log4j2.properties 
b/components/camel-splunk-hec/src/test/resources/log4j2.properties
new file mode 100644
index 0000000..066c1ad
--- /dev/null
+++ b/components/camel-splunk-hec/src/test/resources/log4j2.properties
@@ -0,0 +1,28 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+appender.file.type = File
+appender.file.name = file
+appender.file.fileName = target/camel-splunk-hec-test.log
+appender.file.layout.type = PatternLayout
+appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
+appender.out.type = Console
+appender.out.name = out
+appender.out.layout.type = PatternLayout
+appender.out.layout.pattern = [%30.30t] %-30.30c{1} %-5p %m%n
+rootLogger.level = INFO
+rootLogger.appenderRef.file.ref = file
diff --git a/components/pom.xml b/components/pom.xml
index a241037..5127e6c 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -330,6 +330,7 @@
         <module>camel-soroush</module>
         <module>camel-spark</module>
         <module>camel-splunk</module>
+        <module>camel-splunk-hec</module>
         <module>camel-spring-batch</module>
         <module>camel-spring-integration</module>
         <module>camel-spring-javaconfig</module>
diff --git a/core/camel-allcomponents/pom.xml b/core/camel-allcomponents/pom.xml
index 469f711..0334431 100644
--- a/core/camel-allcomponents/pom.xml
+++ b/core/camel-allcomponents/pom.xml
@@ -1036,6 +1036,10 @@
                </dependency>
                <dependency>
                        <groupId>org.apache.camel</groupId>
+                       <artifactId>camel-splunk-hec</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.camel</groupId>
                        <artifactId>camel-splunk</artifactId>
                </dependency>
                <dependency>
diff --git 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index 81b1876..833bcb1 100644
--- 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -3470,6 +3470,18 @@ public interface ComponentsBuilderFactory {
         return 
org.apache.camel.builder.component.dsl.SplunkComponentBuilderFactory.splunk();
     }
     /**
+     * Splunk HEC (camel-splunk-hec)
+     * The splunk component allows to publish events in Splunk using the HTTP
+     * Event Collector.
+     * 
+     * Category: log,monitoring
+     * Since: 3.2
+     * Maven coordinates: org.apache.camel:camel-splunk-hec
+     */
+    static 
org.apache.camel.builder.component.dsl.SplunkHecComponentBuilderFactory.SplunkHecComponentBuilder
 splunkHec() {
+        return 
org.apache.camel.builder.component.dsl.SplunkHecComponentBuilderFactory.splunkHec();
+    }
+    /**
      * Spring Batch (camel-spring-batch)
      * The spring-batch component allows to send messages to Spring Batch for
      * further processing.
diff --git 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SplunkHecComponentBuilderFactory.java
 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SplunkHecComponentBuilderFactory.java
new file mode 100644
index 0000000..af759fb
--- /dev/null
+++ 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SplunkHecComponentBuilderFactory.java
@@ -0,0 +1,131 @@
+/*
+ * 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.builder.component.dsl;
+
+import javax.annotation.Generated;
+import org.apache.camel.Component;
+import org.apache.camel.builder.component.AbstractComponentBuilder;
+import org.apache.camel.builder.component.ComponentBuilder;
+import org.apache.camel.component.splunkhec.SplunkHECComponent;
+
+/**
+ * The splunk component allows to publish events in Splunk using the HTTP Event
+ * Collector.
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface SplunkHecComponentBuilderFactory {
+
+    /**
+     * Splunk HEC (camel-splunk-hec)
+     * The splunk component allows to publish events in Splunk using the HTTP
+     * Event Collector.
+     * 
+     * Category: log,monitoring
+     * Since: 3.2
+     * Maven coordinates: org.apache.camel:camel-splunk-hec
+     */
+    static SplunkHecComponentBuilder splunkHec() {
+        return new SplunkHecComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the Splunk HEC component.
+     */
+    interface SplunkHecComponentBuilder
+            extends
+                ComponentBuilder<SplunkHECComponent> {
+        /**
+         * Allows for bridging the consumer to the Camel routing Error Handler,
+         * which mean any exceptions occurred while the consumer is trying to
+         * pickup incoming messages, or the likes, will now be processed as a
+         * message and handled by the routing Error Handler. By default the
+         * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
+         * with exceptions, that will be logged at WARN or ERROR level and
+         * ignored.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: consumer
+         */
+        default SplunkHecComponentBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer
+         */
+        default SplunkHecComponentBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the component should use basic property binding (Camel 2.x)
+         * or the newer property binding with additional capabilities.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: advanced
+         */
+        default SplunkHecComponentBuilder basicPropertyBinding(
+                boolean basicPropertyBinding) {
+            doSetProperty("basicPropertyBinding", basicPropertyBinding);
+            return this;
+        }
+    }
+
+    class SplunkHecComponentBuilderImpl
+            extends
+                AbstractComponentBuilder<SplunkHECComponent>
+            implements
+                SplunkHecComponentBuilder {
+        @Override
+        protected SplunkHECComponent buildConcreteComponent() {
+            return new SplunkHECComponent();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "bridgeErrorHandler": ((SplunkHECComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
+            case "lazyStartProducer": ((SplunkHECComponent) 
component).setLazyStartProducer((boolean) value); return true;
+            case "basicPropertyBinding": ((SplunkHECComponent) 
component).setBasicPropertyBinding((boolean) value); return true;
+            default: return false;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/core/camel-componentdsl/src/generated/resources/metadata.json 
b/core/camel-componentdsl/src/generated/resources/metadata.json
index 1a1a930..768e43c 100644
--- a/core/camel-componentdsl/src/generated/resources/metadata.json
+++ b/core/camel-componentdsl/src/generated/resources/metadata.json
@@ -6612,6 +6612,28 @@
     "producerOnly": false,
     "lenientProperties": false
   },
+  "SplunkHecComponentBuilderFactory": {
+    "kind": "component",
+    "name": "splunk-hec",
+    "title": "Splunk HEC",
+    "description": "The splunk component allows to publish events in Splunk 
using the HTTP Event Collector.",
+    "deprecated": false,
+    "deprecationNote": "log,monitoring",
+    "firstVersion": "3.3.0",
+    "label": "log,monitoring",
+    "javaType": "org.apache.camel.component.splunkhec.SplunkHECComponent",
+    "supportLevel": "Stable",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-splunk-hec",
+    "version": "3.3.0-SNAPSHOT",
+    "scheme": "splunk-hec",
+    "extendsScheme": "",
+    "syntax": "splunk-hec:endpoint\/token",
+    "async": false,
+    "consumerOnly": false,
+    "producerOnly": false,
+    "lenientProperties": false
+  },
   "SpringBatchComponentBuilderFactory": {
     "kind": "component",
     "name": "spring-batch",
diff --git 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index ac2e618..cc500fe 100644
--- 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -310,6 +310,7 @@ public interface EndpointBuilderFactory
             
org.apache.camel.builder.endpoint.dsl.SoroushBotEndpointBuilderFactory.SoroushBotBuilders,
             
org.apache.camel.builder.endpoint.dsl.SparkEndpointBuilderFactory.SparkBuilders,
             
org.apache.camel.builder.endpoint.dsl.SplunkEndpointBuilderFactory.SplunkBuilders,
+            
org.apache.camel.builder.endpoint.dsl.SplunkHECEndpointBuilderFactory.SplunkHECBuilders,
             
org.apache.camel.builder.endpoint.dsl.SpringBatchEndpointBuilderFactory.SpringBatchBuilders,
             
org.apache.camel.builder.endpoint.dsl.SpringIntegrationEndpointBuilderFactory.SpringIntegrationBuilders,
             
org.apache.camel.builder.endpoint.dsl.SpringLdapEndpointBuilderFactory.SpringLdapBuilders,
diff --git 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index 4926f9a..f86c77f 100644
--- 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -307,6 +307,7 @@ public interface EndpointBuilders
             
org.apache.camel.builder.endpoint.dsl.SoroushBotEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.SparkEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.SplunkEndpointBuilderFactory,
+            
org.apache.camel.builder.endpoint.dsl.SplunkHECEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.SpringBatchEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.SpringIntegrationEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.SpringLdapEndpointBuilderFactory,
diff --git 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SplunkHECEndpointBuilderFactory.java
 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SplunkHECEndpointBuilderFactory.java
new file mode 100644
index 0000000..fc0b069
--- /dev/null
+++ 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SplunkHECEndpointBuilderFactory.java
@@ -0,0 +1,662 @@
+/*
+ * 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.builder.endpoint.dsl;
+
+import javax.annotation.Generated;
+import org.apache.camel.ExchangePattern;
+import org.apache.camel.builder.EndpointConsumerBuilder;
+import org.apache.camel.builder.EndpointProducerBuilder;
+import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+import org.apache.camel.spi.ExceptionHandler;
+
+/**
+ * The splunk component allows to publish events in Splunk using the HTTP Event
+ * Collector.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface SplunkHECEndpointBuilderFactory {
+
+
+    /**
+     * Builder for endpoint consumers for the Splunk HEC component.
+     */
+    public interface SplunkHECEndpointConsumerBuilder
+            extends
+                EndpointConsumerBuilder {
+        default AdvancedSplunkHECEndpointConsumerBuilder advanced() {
+            return (AdvancedSplunkHECEndpointConsumerBuilder) this;
+        }
+        /**
+         * Allows for bridging the consumer to the Camel routing Error Handler,
+         * which mean any exceptions occurred while the consumer is trying to
+         * pickup incoming messages, or the likes, will now be processed as a
+         * message and handled by the routing Error Handler. By default the
+         * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
+         * with exceptions, that will be logged at WARN or ERROR level and
+         * ignored.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: consumer
+         */
+        default SplunkHECEndpointConsumerBuilder bridgeErrorHandler(
+                boolean bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * Allows for bridging the consumer to the Camel routing Error Handler,
+         * which mean any exceptions occurred while the consumer is trying to
+         * pickup incoming messages, or the likes, will now be processed as a
+         * message and handled by the routing Error Handler. By default the
+         * consumer will use the org.apache.camel.spi.ExceptionHandler to deal
+         * with exceptions, that will be logged at WARN or ERROR level and
+         * ignored.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: consumer
+         */
+        default SplunkHECEndpointConsumerBuilder bridgeErrorHandler(
+                String bridgeErrorHandler) {
+            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
+            return this;
+        }
+        /**
+         * Splunk host.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: host
+         */
+        default SplunkHECEndpointConsumerBuilder host(String host) {
+            doSetProperty("host", host);
+            return this;
+        }
+        /**
+         * Contact HEC over https.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: https
+         */
+        default SplunkHECEndpointConsumerBuilder https(boolean https) {
+            doSetProperty("https", https);
+            return this;
+        }
+        /**
+         * Contact HEC over https.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: https
+         */
+        default SplunkHECEndpointConsumerBuilder https(String https) {
+            doSetProperty("https", https);
+            return this;
+        }
+        /**
+         * Splunk HEC TLS verification.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: skiptlsverify
+         */
+        default SplunkHECEndpointConsumerBuilder skiptlsverify(
+                boolean skiptlsverify) {
+            doSetProperty("skiptlsverify", skiptlsverify);
+            return this;
+        }
+        /**
+         * Splunk HEC TLS verification.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: skiptlsverify
+         */
+        default SplunkHECEndpointConsumerBuilder skiptlsverify(
+                String skiptlsverify) {
+            doSetProperty("skiptlsverify", skiptlsverify);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint consumers for the Splunk HEC component.
+     */
+    public interface AdvancedSplunkHECEndpointConsumerBuilder
+            extends
+                EndpointConsumerBuilder {
+        default SplunkHECEndpointConsumerBuilder basic() {
+            return (SplunkHECEndpointConsumerBuilder) this;
+        }
+        /**
+         * To let the consumer use a custom ExceptionHandler. Notice if the
+         * option bridgeErrorHandler is enabled then this option is not in use.
+         * By default the consumer will deal with exceptions, that will be
+         * logged at WARN or ERROR level and ignored.
+         * 
+         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
+         * type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedSplunkHECEndpointConsumerBuilder exceptionHandler(
+                ExceptionHandler exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * To let the consumer use a custom ExceptionHandler. Notice if the
+         * option bridgeErrorHandler is enabled then this option is not in use.
+         * By default the consumer will deal with exceptions, that will be
+         * logged at WARN or ERROR level and ignored.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedSplunkHECEndpointConsumerBuilder exceptionHandler(
+                String exceptionHandler) {
+            doSetProperty("exceptionHandler", exceptionHandler);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option is a: <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedSplunkHECEndpointConsumerBuilder exchangePattern(
+                ExchangePattern exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Sets the exchange pattern when the consumer creates an exchange.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.ExchangePattern</code> type.
+         * 
+         * Group: consumer (advanced)
+         */
+        default AdvancedSplunkHECEndpointConsumerBuilder exchangePattern(
+                String exchangePattern) {
+            doSetProperty("exchangePattern", exchangePattern);
+            return this;
+        }
+        /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) 
or
+         * the newer property binding with additional capabilities.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: advanced
+         */
+        default AdvancedSplunkHECEndpointConsumerBuilder basicPropertyBinding(
+                boolean basicPropertyBinding) {
+            doSetProperty("basicPropertyBinding", basicPropertyBinding);
+            return this;
+        }
+        /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) 
or
+         * the newer property binding with additional capabilities.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: advanced
+         */
+        default AdvancedSplunkHECEndpointConsumerBuilder basicPropertyBinding(
+                String basicPropertyBinding) {
+            doSetProperty("basicPropertyBinding", basicPropertyBinding);
+            return this;
+        }
+        /**
+         * Sets whether synchronous processing should be strictly used, or 
Camel
+         * is allowed to use asynchronous processing (if supported).
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: advanced
+         */
+        default AdvancedSplunkHECEndpointConsumerBuilder synchronous(
+                boolean synchronous) {
+            doSetProperty("synchronous", synchronous);
+            return this;
+        }
+        /**
+         * Sets whether synchronous processing should be strictly used, or 
Camel
+         * is allowed to use asynchronous processing (if supported).
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: advanced
+         */
+        default AdvancedSplunkHECEndpointConsumerBuilder synchronous(
+                String synchronous) {
+            doSetProperty("synchronous", synchronous);
+            return this;
+        }
+    }
+
+    /**
+     * Builder for endpoint producers for the Splunk HEC component.
+     */
+    public interface SplunkHECEndpointProducerBuilder
+            extends
+                EndpointProducerBuilder {
+        default AdvancedSplunkHECEndpointProducerBuilder advanced() {
+            return (AdvancedSplunkHECEndpointProducerBuilder) this;
+        }
+        /**
+         * Splunk index to write to.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default SplunkHECEndpointProducerBuilder index(String index) {
+            doSetProperty("index", index);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer
+         */
+        default SplunkHECEndpointProducerBuilder lazyStartProducer(
+                boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer
+         */
+        default SplunkHECEndpointProducerBuilder lazyStartProducer(
+                String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Splunk source argument.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default SplunkHECEndpointProducerBuilder source(String source) {
+            doSetProperty("source", source);
+            return this;
+        }
+        /**
+         * Splunk sourcetype argument.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         */
+        default SplunkHECEndpointProducerBuilder sourceType(String sourceType) 
{
+            doSetProperty("sourceType", sourceType);
+            return this;
+        }
+        /**
+         * Splunk host.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: host
+         */
+        default SplunkHECEndpointProducerBuilder host(String host) {
+            doSetProperty("host", host);
+            return this;
+        }
+        /**
+         * Contact HEC over https.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: https
+         */
+        default SplunkHECEndpointProducerBuilder https(boolean https) {
+            doSetProperty("https", https);
+            return this;
+        }
+        /**
+         * Contact HEC over https.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: https
+         */
+        default SplunkHECEndpointProducerBuilder https(String https) {
+            doSetProperty("https", https);
+            return this;
+        }
+        /**
+         * Splunk HEC TLS verification.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: skiptlsverify
+         */
+        default SplunkHECEndpointProducerBuilder skiptlsverify(
+                boolean skiptlsverify) {
+            doSetProperty("skiptlsverify", skiptlsverify);
+            return this;
+        }
+        /**
+         * Splunk HEC TLS verification.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: skiptlsverify
+         */
+        default SplunkHECEndpointProducerBuilder skiptlsverify(
+                String skiptlsverify) {
+            doSetProperty("skiptlsverify", skiptlsverify);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint producers for the Splunk HEC component.
+     */
+    public interface AdvancedSplunkHECEndpointProducerBuilder
+            extends
+                EndpointProducerBuilder {
+        default SplunkHECEndpointProducerBuilder basic() {
+            return (SplunkHECEndpointProducerBuilder) this;
+        }
+        /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) 
or
+         * the newer property binding with additional capabilities.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: advanced
+         */
+        default AdvancedSplunkHECEndpointProducerBuilder basicPropertyBinding(
+                boolean basicPropertyBinding) {
+            doSetProperty("basicPropertyBinding", basicPropertyBinding);
+            return this;
+        }
+        /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) 
or
+         * the newer property binding with additional capabilities.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: advanced
+         */
+        default AdvancedSplunkHECEndpointProducerBuilder basicPropertyBinding(
+                String basicPropertyBinding) {
+            doSetProperty("basicPropertyBinding", basicPropertyBinding);
+            return this;
+        }
+        /**
+         * Sets whether synchronous processing should be strictly used, or 
Camel
+         * is allowed to use asynchronous processing (if supported).
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: advanced
+         */
+        default AdvancedSplunkHECEndpointProducerBuilder synchronous(
+                boolean synchronous) {
+            doSetProperty("synchronous", synchronous);
+            return this;
+        }
+        /**
+         * Sets whether synchronous processing should be strictly used, or 
Camel
+         * is allowed to use asynchronous processing (if supported).
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: advanced
+         */
+        default AdvancedSplunkHECEndpointProducerBuilder synchronous(
+                String synchronous) {
+            doSetProperty("synchronous", synchronous);
+            return this;
+        }
+    }
+
+    /**
+     * Builder for endpoint for the Splunk HEC component.
+     */
+    public interface SplunkHECEndpointBuilder
+            extends
+                SplunkHECEndpointConsumerBuilder,
+                SplunkHECEndpointProducerBuilder {
+        default AdvancedSplunkHECEndpointBuilder advanced() {
+            return (AdvancedSplunkHECEndpointBuilder) this;
+        }
+        /**
+         * Splunk host.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: host
+         */
+        default SplunkHECEndpointBuilder host(String host) {
+            doSetProperty("host", host);
+            return this;
+        }
+        /**
+         * Contact HEC over https.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: https
+         */
+        default SplunkHECEndpointBuilder https(boolean https) {
+            doSetProperty("https", https);
+            return this;
+        }
+        /**
+         * Contact HEC over https.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: https
+         */
+        default SplunkHECEndpointBuilder https(String https) {
+            doSetProperty("https", https);
+            return this;
+        }
+        /**
+         * Splunk HEC TLS verification.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: skiptlsverify
+         */
+        default SplunkHECEndpointBuilder skiptlsverify(boolean skiptlsverify) {
+            doSetProperty("skiptlsverify", skiptlsverify);
+            return this;
+        }
+        /**
+         * Splunk HEC TLS verification.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: skiptlsverify
+         */
+        default SplunkHECEndpointBuilder skiptlsverify(String skiptlsverify) {
+            doSetProperty("skiptlsverify", skiptlsverify);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint for the Splunk HEC component.
+     */
+    public interface AdvancedSplunkHECEndpointBuilder
+            extends
+                AdvancedSplunkHECEndpointConsumerBuilder,
+                AdvancedSplunkHECEndpointProducerBuilder {
+        default SplunkHECEndpointBuilder basic() {
+            return (SplunkHECEndpointBuilder) this;
+        }
+        /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) 
or
+         * the newer property binding with additional capabilities.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: advanced
+         */
+        default AdvancedSplunkHECEndpointBuilder basicPropertyBinding(
+                boolean basicPropertyBinding) {
+            doSetProperty("basicPropertyBinding", basicPropertyBinding);
+            return this;
+        }
+        /**
+         * Whether the endpoint should use basic property binding (Camel 2.x) 
or
+         * the newer property binding with additional capabilities.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: advanced
+         */
+        default AdvancedSplunkHECEndpointBuilder basicPropertyBinding(
+                String basicPropertyBinding) {
+            doSetProperty("basicPropertyBinding", basicPropertyBinding);
+            return this;
+        }
+        /**
+         * Sets whether synchronous processing should be strictly used, or 
Camel
+         * is allowed to use asynchronous processing (if supported).
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: advanced
+         */
+        default AdvancedSplunkHECEndpointBuilder synchronous(boolean 
synchronous) {
+            doSetProperty("synchronous", synchronous);
+            return this;
+        }
+        /**
+         * Sets whether synchronous processing should be strictly used, or 
Camel
+         * is allowed to use asynchronous processing (if supported).
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: advanced
+         */
+        default AdvancedSplunkHECEndpointBuilder synchronous(String 
synchronous) {
+            doSetProperty("synchronous", synchronous);
+            return this;
+        }
+    }
+
+    public interface SplunkHECBuilders {
+        /**
+         * Splunk HEC (camel-splunk-hec)
+         * The splunk component allows to publish events in Splunk using the
+         * HTTP Event Collector.
+         * 
+         * Category: log,monitoring
+         * Since: 3.2
+         * Maven coordinates: org.apache.camel:camel-splunk-hec
+         * 
+         * Syntax: <code>splunk-hec:endpoint/token</code>
+         * 
+         * Path parameter: endpointUri
+         * Splunk host URI
+         */
+        default SplunkHECEndpointBuilder splunkHec(String path) {
+            return SplunkHECEndpointBuilderFactory.splunkHec(path);
+        }
+    }
+    /**
+     * Splunk HEC (camel-splunk-hec)
+     * The splunk component allows to publish events in Splunk using the HTTP
+     * Event Collector.
+     * 
+     * Category: log,monitoring
+     * Since: 3.2
+     * Maven coordinates: org.apache.camel:camel-splunk-hec
+     * 
+     * Syntax: <code>splunk-hec:endpoint/token</code>
+     * 
+     * Path parameter: endpointUri
+     * Splunk host URI
+     */
+    static SplunkHECEndpointBuilder splunkHec(String path) {
+        class SplunkHECEndpointBuilderImpl extends AbstractEndpointBuilder 
implements SplunkHECEndpointBuilder, AdvancedSplunkHECEndpointBuilder {
+            public SplunkHECEndpointBuilderImpl(String path) {
+                super("splunk-hec", path);
+            }
+        }
+        return new SplunkHECEndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/nav.adoc 
b/docs/components/modules/ROOT/nav.adoc
index 0f3bbd5..86854a8 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -293,6 +293,7 @@
 ** xref:soroush-component.adoc[Soroush]
 ** xref:spark-component.adoc[Spark]
 ** xref:splunk-component.adoc[Splunk]
+** xref:splunk-hec-component.adoc[Splunk HEC]
 ** xref:spring-summary.adoc[Spring]
 ** xref:spring-batch-component.adoc[Spring Batch]
 ** xref:spring-event-component.adoc[Spring Event]
diff --git a/docs/components/modules/ROOT/pages/splunk-hec-component.adoc 
b/docs/components/modules/ROOT/pages/splunk-hec-component.adoc
new file mode 100644
index 0000000..df45a2c
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/splunk-hec-component.adoc
@@ -0,0 +1,105 @@
+[[splunk-hec-component]]
+= Splunk HEC Component
+//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
+:page-source: 
components/camel-splunk-hec/src/main/docs/splunk-hec-component.adoc
+:docTitle: Splunk HEC
+:artifactId: camel-splunk-hec
+:description: The splunk component allows to publish events in Splunk using 
the HTTP Event Collector.
+:since: 3.2
+:supportLevel: Stable
+:component-header: Both producer and consumer are supported
+
+*Since Camel {since}*
+
+*{component-header}*
+
+The Splunk HEC component allows to send data to Splunk using the
+https://dev.splunk.com/enterprise/docs/dataapps/httpeventcollector/[HTTP Event 
Collector].
+
+Maven users will need to add the following dependency to their pom.xml
+for this component:
+
+[source,xml]
+---------------------------------------------
+ <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-splunk-hec</artifactId>
+        <version>${camel-version}</version>
+</dependency>
+---------------------------------------------
+
+== URI format
+
+[source,java]
+-------------------------------
+  splunk-hec:[endpoint]/[token]?[options]
+-------------------------------
+
+
+// component options: START
+The Splunk HEC component supports 3 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions, that will be logged at WARN or ERROR level and ignored. | false | 
boolean
+| *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
+| *basicPropertyBinding* (advanced) | Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities | false | boolean
+|===
+// component options: END
+
+
+
+// endpoint options: START
+The Splunk HEC endpoint is configured using URI syntax:
+
+----
+splunk-hec:endpoint/token
+----
+
+with the following path and query parameters:
+
+=== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *endpointUri* | Splunk host URI |  | String
+|===
+
+
+=== Query Parameters (12 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions, that will be logged at WARN or ERROR level and ignored. | false | 
boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom 
ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this 
option is not in use. By default the consumer will deal with exceptions, that 
will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer 
creates an exchange. The value can be one of: InOnly, InOut, InOptionalOut |  | 
ExchangePattern
+| *index* (producer) | Splunk index to write to |  | String
+| *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
+| *source* (producer) | Splunk source argument |  | String
+| *sourceType* (producer) | Splunk sourcetype argument |  | String
+| *basicPropertyBinding* (advanced) | Whether the endpoint should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities | false | boolean
+| *synchronous* (advanced) | Sets whether synchronous processing should be 
strictly used, or Camel is allowed to use asynchronous processing (if 
supported). | false | boolean
+| *host* (host) | Splunk host. |  | String
+| *https* (https) | Contact HEC over https. | false | boolean
+| *skiptlsverify* (skiptlsverify) | Splunk HEC TLS verification. | false | 
boolean
+|===
+// endpoint options: END
+
+== Message body
+The body must be serializable to JSON so it may be sent to Splunk.
+
+A `String` or a `java.util.Map` object can be serialized easily.
+
+== Use Cases
+The Splunk HEC endpoint may be used to stream data to Splunk for ingestion.
+
+It is meant for high volume ingestion of machine data.
+
+include::camel-spring-boot::page$splunk-starter.adoc[]
diff --git a/parent/pom.xml b/parent/pom.xml
index 6fa7748..24861fe 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -2178,6 +2178,11 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-splunk-hec</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-spring</artifactId>
         <version>${project.version}</version>
       </dependency>

Reply via email to