Java Spring集成消息频道未发布卡夫卡主题消息

Java Spring集成消息频道未发布卡夫卡主题消息,java,apache-kafka,spring-integration,Java,Apache Kafka,Spring Integration,我正在使用SpringCloudStream,它使用SpringBoot进行配置,使用MessageChannel,我正在尝试向通道发送和接收一些消息。 我还为该频道指定了一个目的地,它是一个卡夫卡主题(我已经在application.properties文件中为其设置了args/binder属性),不知何故 我无法在我的消费者控制台上收到任何消息,显然日志中也没有任何可疑的内容。(卡夫卡主题已经创建) 这已显示在我的日志中: 2017-06-26 17:41:08.305 DEBUG 8520

我正在使用SpringCloudStream,它使用SpringBoot进行配置,使用MessageChannel,我正在尝试向通道发送和接收一些消息。 我还为该频道指定了一个目的地,它是一个卡夫卡主题(我已经在application.properties文件中为其设置了args/binder属性),不知何故 我无法在我的消费者控制台上收到任何消息,显然日志中也没有任何可疑的内容。(卡夫卡主题已经创建)

这已显示在我的日志中:

2017-06-26 17:41:08.305 DEBUG 8520 --- [           main] o.s.integration.channel.DirectChannel    : preSend on channel 'output', message: GenericMessage [payload={ "name": "ABC", "emailAddress":"abc@gmail.com","password":"xxx"}, headers={kafka_topic=new-topic, id=8dbc3fba-c30c-ea43-e269-7b5a24d6d8e7, timestamp=1498479068305}]
2017-06-26 17:41:08.305 DEBUG 8520 --- [           main] o.s.integration.channel.DirectChannel    : postSend (sent=true) on channel 'output', message: GenericMessage [payload={ "name": "ABC", "emailAddress":"abc@gmail.com","password":"xxx"}, headers={kafka_topic=new-topic, id=8dbc3fba-c30c-ea43-e269-7b5a24d6d8e7, timestamp=1498479068305}]
2017-06-26 17:41:08.305  INFO 8520 --- [           main] c.f.e.c.stream.MyApplication: ****************In MyApplication, sent = :true
应用程序属性

spring.cloud.stream.bindings.output.destination=new-topic
spring.cloud.stream.bindings.input.destination=new-topic
spring.cloud.stream.kafka.binder.defaultBrokerPort=9092
MyApplication.java

public class MyApplication {

final static Logger logger = Logger.getLogger(MyApplication.class);

@Autowired
private Source source;

public void sendMessage(String json) {
logger.info("In MyApplication, sent = :"+ source.output().send(MessageBuilder.withPayload(json).setHeader(KafkaHeaders.TOPIC, "new-topic").build()));
  }
}
附言:如果我使用Kafka producer控制台发送消费者使用的消息,也可以使用Kafka producer以编程方式尝试相同的方法


如果有人能帮助我知道什么东西不能让它工作,或者上面的设置中是否缺少什么东西,我将非常感激。非常感谢

尝试在没有设置标题的情况下发送(KafkaHeaders.TOPIC,“newtopic”)-投标人应该为您的客户这样做。另外,您可以切换
async
性质的
KafkaProducerMessageHandler
,可能会看到一些异常:@ArtemBilan我做了上述操作,但仍然不起作用。然而,让它工作的是从我的maven依赖项中删除“SpringCloudStream测试支持”,这是一个临时修复,但我希望即使包含了所述依赖项,它也能工作。礼貌:嗯,听起来像是
TestBinder
比其他任何东西都有优先权。无论如何,请注意
测试
,以获得
scs测试支持
。这样它就不会被打包到应用程序中进行生产。尝试在不使用
setHeader(KafkaHeaders.TOPIC,“newtopic”)的情况下发送它。
-投标人应该为您的客户这样做。另外,您可以切换
async
性质的
KafkaProducerMessageHandler
,可能会看到一些异常:@ArtemBilan我做了上述操作,但仍然不起作用。然而,让它工作的是从我的maven依赖项中删除“SpringCloudStream测试支持”,这是一个临时修复,但我希望即使包含了所述依赖项,它也能工作。礼貌:嗯,听起来像是
TestBinder
比其他任何东西都有优先权。无论如何,请注意
测试
,以获得
scs测试支持
。这样它就不会打包到应用程序中进行生产。