package org.deeplearning4j.streaming.kafka; import org.apache.camel.CamelContext; import org.apache.camel.impl.DefaultCamelContext; import org.deeplearning4j.streaming.embedded.EmbeddedKafkaCluster; import org.deeplearning4j.streaming.embedded.EmbeddedZookeeper; import org.deeplearning4j.streaming.embedded.TestUtils; import org.junit.Test; import org.nd4j.linalg.api.ndarray.INDArray; import org.nd4j.linalg.factory.Nd4j; import static org.junit.Assert.assertEquals; /** * Created by agibsonccc on 7/30/16. */ public class NDArrayPublisherTests { @Test public void testPublish() throws Exception { String topicName = "testkafka"; EmbeddedZookeeper embeddedZookeeper = new EmbeddedZookeeper(TestUtils.getAvailablePort()); embeddedZookeeper.startup(); EmbeddedKafkaCluster embeddedKafkaCluster = new EmbeddedKafkaCluster(embeddedZookeeper.getConnection()); embeddedKafkaCluster.startup(); embeddedKafkaCluster.createTopics(topicName); CamelContext camelContext = new DefaultCamelContext(); INDArray arr = Nd4j.linspace(1, 4, 4); String kafkaUri = KafkaUriBuilder.builder().kafkaBroker(embeddedKafkaCluster.getBrokerList()) .consumingTopic(topicName).groupId("dl4jgroup").zooKeeperHost("localhost") .zooKeeperPort(embeddedZookeeper.getPort()).build().uri(); NDArrayPublisher publisher = NDArrayPublisher.builder().camelContext(camelContext).kafkaUri(kafkaUri) .topicName(topicName).build(); camelContext.start(); publisher.start(); NDArrayConsumer consumer = NDArrayConsumer.builder().kafkaUri(kafkaUri).topicName(topicName) .camelContext(camelContext).build(); consumer.start(); publisher.publish(arr); Thread.sleep(5000); INDArray get = consumer.getINDArray(); assertEquals(arr, get); embeddedKafkaCluster.shutdown(); embeddedZookeeper.shutdown(); camelContext.stop(); } }