【问题标题】:MaprStream with spring integration Kafka Producer issueMaprStream 与 Spring 集成 Kafka Producer 问题
【发布时间】:2017-12-01 11:40:18
【问题描述】:

我正在使用带有 spring 集成的 mapr-stream 并尝试创建一个发布者来向 maprstream 主题发送消息。我正在使用下面提到的 Jar 版本兼容性矩阵 here

Spring-integration-kafka - 2.0.1.RELEASE
Spring-Kafka - 1.0.3.RELEASE
Kafka-clients - 0.9.0.0-mapr-1607

正如 spring 集成 Kafka documentation 中所述,如果我使用 spring-integration-kafka-2.0.1,我应该能够在 KafkaProducerMessageHandler 中设置属性“sync 罐子, 但我收到架构验证问题,说 KafkaProducerMessageHandler 中不需要“同步”。

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: spring spring-integration spring-kafka mapr-streams


    【解决方案1】:

    sync 的 XML 命名空间支持为 not added until 2.1

    对于 2.0.x,您必须以编程方式设置 KafkaProducerMessageHandler bean 的属性。

    编辑

    @Autowired
    private KafkaProducerMessageHandler handler;
    
    @PostConstruct
    public void init() {
        this.handler.setSync(true);
    }
    

    【讨论】:

    • 感谢 Gary 的更新。但是请您提供一个示例 sn-p,因为我无法设置此变量。还假设如果我们以编程方式设置此变量,我们将能够实现“同步”的实际用例。
    • 查看我的编辑;如果您有多个处理程序,则必须使用带有 bean 名称的 @Qualifier,即适配器 id + ".handler"。
    • 感谢您的更新。当我在我们的项目中使用 xml 配置时,我能否在下面的代码 sn-p 中设置此属性。 <int:chain input-channel="inputToKafka"> <int-kafka:outbound-channel-adapter id="kafkaOutboundChannelAdapter" kafka-template="template" topic="${maprstream.stream.topicname}" > </int-kafka:outbound-channel-adapter> </int:chain>
    • 不清楚你在问什么;直到 2.1 才添加 XML 支持。如果您使用我提供的代码添加另一个 bean,它将为您设置标志。添加<context:annotation-config/><bean class="foo.bar.MySyncSetter"/>
    • 是的..我明白了..它现在按预期工作..!如果我们启用同步为真,我可以看到性能变化..!谢谢
    猜你喜欢
    • 2018-08-23
    • 2023-03-31
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多