title: Direct binding deployment with Kafka as message bus
body: <p>I am trying to use direct binding on the following stream.</p>
  
  <pre><code>stream create --definition "time | log" --name ticktock
  stream deploy ticktock --properties module.*.count=0
  </code></pre>
  
  <p>Deployment fails with this exception on both the admin and container node:</p>
  
  <pre><code>java.lang.IllegalArgumentException: Module count cannot be zero
      at org.springframework.xd.dirt.integration.kafka.KafkaMessageBus$KafkaPropertiesAccessor.getNumberOfKafkaPartitionsForProducer(KafkaMessageBus.java:799)
      at org.springframework.xd.dirt.integration.kafka.KafkaMessageBus.bindProducer(KafkaMessageBus.java:500)
      at org.springframework.xd.dirt.plugins.AbstractMessageBusBinderPlugin.bindMessageProducer(AbstractMessageBusBinderPlugin.java:287)
      at org.springframework.xd.dirt.plugins.AbstractMessageBusBinderPlugin.bindConsumerAndProducers(AbstractMessageBusBinderPlugin.java:143)
      at org.springframework.xd.dirt.plugins.stream.StreamPlugin.postProcessModule(StreamPlugin.java:73)
      at org.springframework.xd.dirt.module.ModuleDeployer.postProcessModule(ModuleDeployer.java:238)
      at org.springframework.xd.dirt.module.ModuleDeployer.doDeploy(ModuleDeployer.java:218)
      at org.springframework.xd.dirt.module.ModuleDeployer.deploy(ModuleDeployer.java:200)
      at org.springframework.xd.dirt.server.container.DeploymentListener.deployModule(DeploymentListener.java:365)
      at org.springframework.xd.dirt.server.container.DeploymentListener.deployStreamModule(DeploymentListener.java:334)
      at org.springframework.xd.dirt.server.container.DeploymentListener.onChildAdded(DeploymentListener.java:181)
      at org.springframework.xd.dirt.server.container.DeploymentListener.childEvent(DeploymentListener.java:149)
      at org.apache.curator.framework.recipes.cache.PathChildrenCache$5.apply(PathChildrenCache.java:509)
      at org.apache.curator.framework.recipes.cache.PathChildrenCache$5.apply(PathChildrenCache.java:503)
      at org.apache.curator.framework.listen.ListenerContainer$1.run(ListenerContainer.java:92)
      at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297)
      at org.apache.curator.framework.listen.ListenerContainer.forEach(ListenerContainer.java:83)
      at org.apache.curator.framework.recipes.cache.PathChildrenCache.callListeners(PathChildrenCache.java:500)
      at org.apache.curator.framework.recipes.cache.EventOperation.invoke(EventOperation.java:35)
      at org.apache.curator.framework.recipes.cache.PathChildrenCache$10.run(PathChildrenCache.java:762)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
  </code></pre>
  
  <p>I have a Spring-XD(1.2.0) cluster with one admin and two container nodes using Kafka as a message bus.</p>
  
  <p>Am I doing something wrong? Or is there a problem with direct binding and the Kafka message bus?</p>