【发布时间】:2018-10-16 21:30:41
【问题描述】:
我想知道研发部门是否有人对使用 .NET 的 Kafka 有任何经验。下面的代码 sn-p 来自客户端,它是用 Java 编写的。似乎 Java 的 Kafka 库比 .NET 的库要丰富得多。我正在尝试做的是在客户端站点的远程服务器上启动一个 Kafka 生产者,以便通过 Kafka 生产者传递 RTA 状态。
我需要做的是在 .NET 中重新创建以下代码,尤其是最后一行“openInterfacesSubscriber.send()”。我正在使用来自 Confluent 的 .NET 包。任何帮助将不胜感激。
Map<String, Object> props = new HashMap<>();
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,
("xxx.xx.xxx.xxx:9092");
props.put(ConsumerConfig.GROUP_ID_CONFIG, "ept-oi-log");
props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, true);
props.put(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, "15000");
props.put(ConsumerConfig.CLIENT_ID_CONFIG, "1");
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,
IntegerDeserializer.class);
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,
StringDeserializer.class);
DefaultKafkaProducerFactory<Integer, String> producer = new
DefaultKafkaProducerFactory<>( producerConfigs(props));
KafkaTemplate<Integer, String> openInterfacesSubscriber = new KafkaTemplate<>
(producer);
for (all in { "AGENTBYACCOUNTMEASURES", "AGENTBYROUTINGSERVICEMEASURES") {
String subRequest = String.format(" {\"userName\":\"%s\",\"password\":\"%s\",\"subscriptionRequestId\":\"5d09vjfgk\",\"request\":\"SUBSCRIBE\", \"measuresStream\":\"% s\",\"version\":\"3.4\"}", "MikeGrey@odl.lab", "Avaya123", measureName);
// THERE IS NO KAFKA SECURITY HERE: USERNAME/PWD ABOVE IS FOR THE subRequest
// STRING ONLY, ANYONE CAN CONNECT TO THIS KAKFA INSTANCE.
openInterfacesSubscriber.send("realtimesubscriptionrequest", 0, i++, subRequest);
【问题讨论】:
标签: .net apache-kafka producer