当前位置: 首页 > news >正文

微信定制开发 网站开发网站建设qq群

微信定制开发 网站开发,网站建设qq群,哪个网站可以做立体字的模板,做招聘网站赚钱么需求 我们需要通过Spring Kafka库&#xff0c;将消息推送给Kafka的topic中。这里假设Kafka的集群和用户我们都有了。这里Kafka认证采取SASL_PLAINTEXT方式接入&#xff0c;SASL 采用 SCRAM-SHA-256 方式加解密。 pom.xml <dependency><groupId>org.springframew…

需求

我们需要通过Spring Kafka库,将消息推送给Kafka的topic中。这里假设Kafka的集群和用户我们都有了。这里Kafka认证采取SASL_PLAINTEXT方式接入,SASL 采用 SCRAM-SHA-256 方式加解密。

pom.xml

<dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId>
</dependency>

我这里不需要写版本号,应为我使用的Spring Boot。Spring Boot会自动帮我挑选spring-kafka应该使用哪个版本合适。

application.yml

spring:kafka:producer:# kafka集群地址bootstrap-servers: xx.xx.xx.xxx:9092,xx.xx.xx.xxx:9092,xx.xx.xx.xxx:9092client-id: producer-dev# SASL_PLAINTEXT 接入方式security:protocol: SASL_PLAINTEXT# 反序列化方式key-serializer: org.apache.kafka.common.serialization.StringSerializervalue-serializer: org.apache.kafka.common.serialization.StringSerializerproperties:# SASL 采用 SCRAM-SHA-256 方式sasl:mechanism: SCRAM-SHA-256# jaas配置jaas:options:username: kafkauserpassword: kafkapwdenabled: truelogin-module: org.apache.kafka.common.security.scram.ScramLoginModulecontrol-flag: required

以上,是关于Spring Kafka的全部配置。下面摘要出来的配置,是可以单独配置在配置中心的:

topic:# 接收消息的主题配置save: hello_kafka_topic
spring:kafka:producer:client-id: producer-dev# kafka集群地址bootstrap-servers: xx.xx.xx.xxx:9092,xx.xx.xx.xxx:9092,xx.xx.xx.xxx:9092# jaas配置jaas:options:username: kafkauserpassword: kafkapwd

Java

KafkaProducerService.java


public interface KafkaProducerService {/*** 转发消息到kafka*/void sendToKafka(String msg);}

KafkaProducerServiceImpl.java

import cn.com.xxx.service.KafkaProducerService;
import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.kafka.core.KafkaProducerException;
import org.springframework.kafka.core.KafkaSendCallback;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.kafka.support.SendResult;
import org.springframework.stereotype.Service;
import org.springframework.util.concurrent.ListenableFuture;import javax.annotation.Resource;/*** 转发消息到kafka*/
@RefreshScope
@Slf4j
@Service
public class KafkaProducerServiceImpl implements KafkaProducerService {@Resourceprivate KafkaTemplate<String, String> kafkaTemplate;/*** kafka接收消息的主题*/@Value("${topic.save}")private String topic;@Overridepublic void sendToKafka(String msg) {log.info(String.format("$$$$ => Producing message: %s", msg));ProducerRecord<String, String> recordKafka = new ProducerRecord<>(topic, msg);ListenableFuture<SendResult<String, String>> future = kafkaTemplate.send(recordKafka);future.addCallback(new KafkaSendCallback<String, String>() {@Overridepublic void onSuccess(SendResult<String, String> result) {log.info("成功发消息:{}给Kafka:{}", msg, result);}@Overridepublic void onFailure(KafkaProducerException ex) {log.error("发消息:{}给Kafka:{}", msg, recordKafka, ex);}});}
}

到这里为止Spring Kafka生产者所有配置就都可以了。这里使用的异步监听kafka回调的方式发送消息。

总结

这里使用Spring Kafka库异回调步给Kafka消息。这里使用的Spring Kafka库是老版本,所以,这里的使用的回调类是ListenableFuture类。

参考:

  • Spring for Apache Kafka2.8.3
  • Spring for Apache Kafka
http://www.yayakq.cn/news/990806/

相关文章:

  • 做庭院的网站广西住房和城乡建设厅官网培训
  • 我看别人做系统就直接网站下载文件广西做网站的公司有哪些
  • 域名解析 网站建设企业官网建站
  • 商商业网站建设wordpress自动清缓存
  • 现在什么网站做推广比较好wordpress模板目录结构
  • 仁怀哪儿做网站安装wordpress错误
  • 阳泉做网站公司外贸网站营销方案
  • 苏州网络推广网站建设金蝶软件做账全过程
  • 仿做静态网站多少钱如何进行线上推广
  • 网站怎么做外链知乎良庆网站建设
  • 保定网站建设技术支持动感技术网站建设
  • 合肥优秀网站建设发稿系统
  • 网站维护的具体问题wordpress伪静态cdn配置
  • 上海哪家网站建设好临安城市建设公司网站
  • 河北省城乡和住房建设厅网站用于做分析图 的地图网站
  • wordpress建站比较wordpress加一个字段
  • 服装模板网站大连 响应式网站
  • 商城网站建设都需要多少钱西宁做网站君博美评
  • 广州南沙网站建设公司wordpress 变成中文
  • 番禺大石网站建设win7系统做网站服务器系统
  • 代练中介网站有得做吗小型建筑公司有哪些
  • 学做美食饮品网站中建八局第一建设公司网站
  • 国内产品网站1688最新领导班子7人名单
  • 网站网站建设的原则有哪些成立公司需要哪些资料
  • 英才简历在线制作网站清城区做模板网站建设
  • 网站建设教程百度网盘wordpress改了固定链接后
  • seo网站推广首页排名搜索关键词排名查询
  • 模板网站外贸建站祁阳网页设计
  • 手游网站怎么做专业番禺网站建设
  • 什么网站空间好wordpress可以建哪些网站