spring xd - Direct binding deployment with Kafka as message bus -


i trying use direct binding on following stream.

stream create --definition "time | log" --name ticktock stream deploy ticktock --properties module.*.count=0 

deployment fails exception on both admin , container node:

java.lang.illegalargumentexception: module count cannot 0     @ org.springframework.xd.dirt.integration.kafka.kafkamessagebus$kafkapropertiesaccessor.getnumberofkafkapartitionsforproducer(kafkamessagebus.java:799)     @ org.springframework.xd.dirt.integration.kafka.kafkamessagebus.bindproducer(kafkamessagebus.java:500)     @ org.springframework.xd.dirt.plugins.abstractmessagebusbinderplugin.bindmessageproducer(abstractmessagebusbinderplugin.java:287)     @ org.springframework.xd.dirt.plugins.abstractmessagebusbinderplugin.bindconsumerandproducers(abstractmessagebusbinderplugin.java:143)     @ org.springframework.xd.dirt.plugins.stream.streamplugin.postprocessmodule(streamplugin.java:73)     @ org.springframework.xd.dirt.module.moduledeployer.postprocessmodule(moduledeployer.java:238)     @ org.springframework.xd.dirt.module.moduledeployer.dodeploy(moduledeployer.java:218)     @ org.springframework.xd.dirt.module.moduledeployer.deploy(moduledeployer.java:200)     @ org.springframework.xd.dirt.server.container.deploymentlistener.deploymodule(deploymentlistener.java:365)     @ org.springframework.xd.dirt.server.container.deploymentlistener.deploystreammodule(deploymentlistener.java:334)     @ org.springframework.xd.dirt.server.container.deploymentlistener.onchildadded(deploymentlistener.java:181)     @ org.springframework.xd.dirt.server.container.deploymentlistener.childevent(deploymentlistener.java:149)     @ org.apache.curator.framework.recipes.cache.pathchildrencache$5.apply(pathchildrencache.java:509)     @ org.apache.curator.framework.recipes.cache.pathchildrencache$5.apply(pathchildrencache.java:503)     @ org.apache.curator.framework.listen.listenercontainer$1.run(listenercontainer.java:92)     @ com.google.common.util.concurrent.moreexecutors$samethreadexecutorservice.execute(moreexecutors.java:297)     @ org.apache.curator.framework.listen.listenercontainer.foreach(listenercontainer.java:83)     @ org.apache.curator.framework.recipes.cache.pathchildrencache.calllisteners(pathchildrencache.java:500)     @ org.apache.curator.framework.recipes.cache.eventoperation.invoke(eventoperation.java:35)     @ org.apache.curator.framework.recipes.cache.pathchildrencache$10.run(pathchildrencache.java:762)     @ java.util.concurrent.executors$runnableadapter.call(executors.java:471)     @ java.util.concurrent.futuretask.run(futuretask.java:262)     @ java.util.concurrent.executors$runnableadapter.call(executors.java:471)     @ java.util.concurrent.futuretask.run(futuretask.java:262)     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145)     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615)     @ java.lang.thread.run(thread.java:745) 

i have spring-xd(1.2.0) cluster 1 admin , 2 container nodes using kafka message bus.

am doing wrong? or there problem direct binding , kafka message bus?

per the documentation, xd kafkamessagebus not support direct binding...

note: kafka message bus not support count=0 module deployments, , therefore, not support direct binding of modules. feature available in future release. in meantime, if direct communication between modules necessary kafka deployments, composite modules should used instead.


Comments