首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Kafka协议连接Camel和EventHubs

使用Kafka协议连接Camel和EventHubs
EN

Stack Overflow用户
提问于 2019-07-04 08:24:17
回答 1查看 377关注 0票数 0

我正在尝试将消息从Camel路由到Azure EventHubs。EventHubs命名空间是使用Kafka enabled标志创建的。

代码语言:javascript
复制
         String eventHubsPassword = "org.apache.kafka.common.security.plain.PlainLoginModule " +
        "required username=\"$ConnectionString\" " + 
        "password=\"<Connection String>\";";

        String eventHubsConfig = 
        "&requestTimeoutMs=30000" +
        "&securityProtocol=SASL_SSL" + 
        "&saslMechanism=PLAIN" +
        "&saslJaasConfig=" + eventHubsPassword;

        from(component + ":queue:" + queue )
        .to("kafka:mock-topic?brokers=" + eventHubsKafkaBrokers + eventHubsConfig)

其中,mock-topic是事件中心的名称,eventHubsKafkaBrokers类似于mynamespace.servicebus.windows.net:9093<connection string>是事件中心名称空间的连接字符串。

所以我得到了这个日志

代码语言:javascript
复制
2019-07-03 23:35:23 INFO  AbstractLogin:53 - Successfully logged in.
2019-07-03 23:35:23 INFO  AppInfoParser:109 - Kafka version : 1.0.0

在发送我收到的消息时

代码语言:javascript
复制
2019-07-03 23:37:51 WARN  NetworkClient:241 - [Producer clientId=producer-2] Connection to node -1 could not be established. Broker may not be available.

会出什么问题呢?Camel版本为2.21.1。camel不支持SASL_SSL安全协议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-16 08:08:32

如果对任何人有帮助的话,我最终还是使用了EventHubs提供的amqp支持。然后将路由的目的地放到已定义的amqp组件中。

AMQPComponent authorizedAmqp = AMQPComponent.amqpComponent( eventHubsNamespace, eventHubsUsername, //Shared access policy name eventHubsPassword); //Secret code for this shared access policy main.bind("amqps", authorizedAmqp); ... from('jms://source") .to("amqps" + ":queue:" + eventhubInstance);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56879319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档