diff --git a/pom.xml b/pom.xml
index 9c18afb..4f4f51b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
 		<maven.compiler.target>1.7</maven.compiler.target>
 		<maven.compiler.source>1.7</maven.compiler.source>
 
-		<jboss.fuse.bom.version>6.2.0.redhat-133</jboss.fuse.bom.version>
+		<jboss.fuse.bom.version>6.3.0.redhat-069</jboss.fuse.bom.version>
 	</properties>
 
 	<dependencyManagement>
@@ -35,25 +35,20 @@
       <groupId>org.apache.camel</groupId>
       <artifactId>camel-core</artifactId>
     </dependency>
+		<dependency>
+			<groupId>org.apache.kafka</groupId>
+			<artifactId>kafka-clients</artifactId>
+			<version>0.9.0.1</version>
+		</dependency>
     <dependency>
       <groupId>org.apache.kafka</groupId>
       <artifactId>kafka_2.11</artifactId>
-      <version>0.8.2.0</version>
-      <exclusions>
-        <exclusion>
-          <groupId>org.slf4j</groupId>
-          <artifactId>slf4j-simple</artifactId>
-        </exclusion>
-          <exclusion>
-              <artifactId>scala-library</artifactId>
-              <groupId>org.scala-lang</groupId>
-          </exclusion>
-      </exclusions>
+      <version>0.9.0.1</version>
     </dependency>
      <dependency>
       <groupId>org.apache.camel</groupId>
       <artifactId>camel-kafka</artifactId>
-      <version>2.15.1.redhat-620133</version>
+      <version>2.17.0.redhat-630069</version>
     </dependency>
     <dependency>
       <groupId>org.scala-lang</groupId>
diff --git a/src/test/java/com/redhat/came/kafka/component/embedded/EmbeddedKafkaCluster.java b/src/test/java/com/redhat/came/kafka/component/embedded/EmbeddedKafkaCluster.java
index 4875be0..0056f14 100644
--- a/src/test/java/com/redhat/came/kafka/component/embedded/EmbeddedKafkaCluster.java
+++ b/src/test/java/com/redhat/came/kafka/component/embedded/EmbeddedKafkaCluster.java
@@ -26,7 +26,8 @@ import java.util.Properties;
 import kafka.admin.AdminUtils;
 import kafka.server.KafkaConfig;
 import kafka.server.KafkaServer;
-import org.I0Itec.zkclient.ZkClient;
+import kafka.utils.ZkUtils;
+import scala.Option;
 
 public class EmbeddedKafkaCluster {
     private final List<Integer> ports;
@@ -56,16 +57,16 @@ public class EmbeddedKafkaCluster {
         this.brokerList = constructBrokerList(this.ports);
     }
 
-    public ZkClient getZkClient() {
+    public ZkUtils getZkUtils() {
         for (KafkaServer server : brokers) {
-            return server.zkClient();
+            return server.zkUtils();
         }
         return null;
     }
 
     public void createTopics(String...topics) {
         for (String topic : topics) {
-            AdminUtils.createTopic(getZkClient(), topic, 2, 1, new Properties());
+            AdminUtils.createTopic(getZkUtils(), topic, 2, 1, new Properties());
         }
     }
 
@@ -121,7 +122,7 @@ public class EmbeddedKafkaCluster {
 
 
     private KafkaServer startBroker(Properties props) {
-        KafkaServer server = new KafkaServer(new KafkaConfig(props), new SystemTime());
+        KafkaServer server = new KafkaServer(new KafkaConfig(props), new SystemTime(), Option.<String>empty());
         server.startup();
         return server;
     }
diff --git a/src/test/java/com/redhat/camel/kafka/component/KafkaBatchCommitConsumerTest.java b/src/test/java/com/redhat/camel/kafka/component/KafkaBatchCommitConsumerTest.java
index b19e8a6..183e40f 100644
--- a/src/test/java/com/redhat/camel/kafka/component/KafkaBatchCommitConsumerTest.java
+++ b/src/test/java/com/redhat/camel/kafka/component/KafkaBatchCommitConsumerTest.java
@@ -25,16 +25,19 @@ import kafka.api.PartitionOffsetRequestInfo;
 import kafka.common.TopicAndPartition;
 import kafka.javaapi.OffsetResponse;
 import kafka.javaapi.consumer.SimpleConsumer;
-import kafka.javaapi.producer.Producer;
-import kafka.producer.KeyedMessage;
-import kafka.producer.ProducerConfig;
+
+import org.apache.kafka.clients.producer.ProducerConfig;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.kafka.KafkaConstants;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.kafka.clients.producer.KafkaProducer;
+import org.apache.kafka.clients.producer.ProducerRecord;
+
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -44,24 +47,25 @@ public class KafkaBatchCommitConsumerTest extends BaseEmbeddedKafkaTest {
     public static final String TOPIC = "test";
 
     // Create an endpoint that has autocommit disabled, will commit after 2 messages have been processed using only 1 thread
-    @EndpointInject(uri = "kafka:localhost:{{karfkaPort}}?topic=" + TOPIC + "&zookeeperHost=localhost&zookeeperPort={{zookeeperPort}}"
-        + "&groupId=group1&autoOffsetReset=smallest&autoCommitEnable=false&batchSize=2&consumerStreams=1")
+    @EndpointInject(uri = "kafka:localhost:{{karfkaPort}}?topic=" + TOPIC
+        + "&groupId=group1&autoOffsetReset=earliest&autoCommitEnable=false&batchSize=2&consumerStreams=1")
     private Endpoint from;
 
     @EndpointInject(uri = "mock:result")
     private MockEndpoint to;
 
-    private Producer<String, String> producer;
+    private KafkaProducer<String, String> producer;
 
     @Before
     public void before() {
         Properties props = new Properties();
-        props.put("metadata.broker.list", "localhost:" + getKarfkaPort());
-        props.put("serializer.class", "kafka.serializer.StringEncoder");
-        props.put("request.required.acks", "1");
+        props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:" + getKarfkaPort());
+        props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, KafkaConstants.KAFKA_DEFAULT_SERIALIZER);
+        props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, KafkaConstants.KAFKA_DEFAULT_SERIALIZER);
+        props.put(ProducerConfig.PARTITIONER_CLASS_CONFIG, KafkaConstants.KAFKA_DEFAULT_PARTITIONER);
+        props.put(ProducerConfig.ACKS_CONFIG, "1");
 
-        ProducerConfig config = new ProducerConfig(props);
-        producer = new Producer<String, String>(config);
+        producer = new org.apache.kafka.clients.producer.KafkaProducer<String, String>(props);
     }
 
     @After
@@ -101,7 +105,7 @@ public class KafkaBatchCommitConsumerTest extends BaseEmbeddedKafkaTest {
         to.expectedBodiesReceivedInAnyOrder("message-0", "message-1", "message-2", "message-3");
         for (int k = 0; k < 5; k++) {
             String msg = "message-" + k;
-            KeyedMessage<String, String> data = new KeyedMessage<String, String>(TOPIC, "1", msg);
+            ProducerRecord<String, String> data = new ProducerRecord<>(TOPIC, "1", msg);
             producer.send(data);
         }
         to.assertIsSatisfied(5000);
