日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java實現Kafka生產者和消費者的示例

瀏覽:211日期:2022-08-17 10:04:38
Kafka簡介

Kafka是由Apache軟件基金會開發的一個開源流處理平臺,由Scala和Java編寫。Kafka的目標是為處理實時數據提供一個統一、高吞吐、低延遲的平臺。

Java實現Kafka生產者和消費者的示例

方式一:kafka-clients

引入依賴

在pom.xml文件中,引入kafka-clients依賴:

<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.3.1</version></dependency>

生產者

創建一個KafkaProducer的生產者實例:

@Configurationpublic class Config { public final static String bootstrapServers = '127.0.0.1:9092'; @Bean(destroyMethod = 'close') public KafkaProducer<String, String> kafkaProducer() { Properties props = new Properties(); //設置Kafka服務器地址 props.put('bootstrap.servers', bootstrapServers); //設置數據key的序列化處理類 props.put('key.serializer', StringSerializer.class.getName()); //設置數據value的序列化處理類 props.put('value.serializer', StringSerializer.class.getName()); KafkaProducer<String, String> producer = new KafkaProducer<>(props); return producer; }}

在Controller中進行使用:

@RestController@Slf4jpublic class Controller { @Autowired private KafkaProducer<String, String> kafkaProducer; @RequestMapping('/kafkaClientsSend') public String send() { String uuid = UUID.randomUUID().toString(); RecordMetadata recordMetadata = null; try { //將消息發送到Kafka服務器的名稱為“one-more-topic”的Topic中 recordMetadata = kafkaProducer.send(new ProducerRecord<>('one-more-topic', uuid)).get(); log.info('recordMetadata: {}', recordMetadata); log.info('uuid: {}', uuid); } catch (Exception e) { log.error('send fail, uuid: {}', uuid, e); } return uuid; }}

消費者

創建一個KafkaConsumer的消費者實例:

@Configurationpublic class Config { public final static String groupId = 'kafka-clients-group'; public final static String bootstrapServers = '127.0.0.1:9092'; @Bean(destroyMethod = 'close') public KafkaConsumer<String, String> kafkaConsumer() { Properties props = new Properties(); //設置Kafka服務器地址 props.put('bootstrap.servers', bootstrapServers); //設置消費組 props.put('group.id', groupId); //設置數據key的反序列化處理類 props.put('key.deserializer', StringDeserializer.class.getName()); //設置數據value的反序列化處理類 props.put('value.deserializer', StringDeserializer.class.getName()); props.put('enable.auto.commit', 'true'); props.put('auto.commit.interval.ms', '1000'); props.put('session.timeout.ms', '30000'); KafkaConsumer<String, String> kafkaConsumer = new KafkaConsumer<>(props); //訂閱名稱為“one-more-topic”的Topic的消息 kafkaConsumer.subscribe(Arrays.asList('one-more-topic')); return kafkaConsumer; }}

在Controller中進行使用:

@RestController@Slf4jpublic class Controller { @Autowired private KafkaConsumer<String, String> kafkaConsumer; @RequestMapping('/receive') public List<String> receive() { 從Kafka服務器中的名稱為“one-more-topic”的Topic中消費消息 ConsumerRecords<String, String> records = kafkaConsumer.poll(Duration.ofSeconds(1)); List<String> messages = new ArrayList<>(records.count()); for (ConsumerRecord<String, String> record : records.records('one-more-topic')) { String message = record.value(); log.info('message: {}', message); messages.add(message); } return messages; }}方式二:spring-kafka

使用kafka-clients需要我們自己創建生產者或者消費者的bean,如果我們的項目基于SpringBoot構建,那么使用spring-kafka就方便多了。

引入依賴

在pom.xml文件中,引入spring-kafka依賴:

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

生產者

在application.yml文件中增加配置:

spring: kafka: #Kafka服務器地址 bootstrap-servers: 127.0.0.1:9092 producer: #設置數據value的序列化處理類 value-serializer: org.apache.kafka.common.serialization.StringSerializer

在Controller中注入KafkaTemplate就可以直接使用了,代碼如下:

@RestController@Slf4jpublic class Controller { @Autowired private KafkaTemplate<String, String> template; @RequestMapping('/springKafkaSend') public String send() { String uuid = UUID.randomUUID().toString(); //將消息發送到Kafka服務器的名稱為“one-more-topic”的Topic中 this.template.send('one-more-topic', uuid); log.info('uuid: {}', uuid); return uuid; }}

消費者

在application.yml文件中增加配置:

spring: kafka: #Kafka服務器地址 bootstrap-servers: 127.0.0.1:9092 consumer: #設置數據value的反序列化處理類 value-deserializer: org.apache.kafka.common.serialization.StringDeserializer

創建一個可以被Spring框架掃描到的類,并且在方法上加上@KafkaListener注解,就可以消費消息了,代碼如下:

@Component@Slf4jpublic class Receiver { @KafkaListener(topics = 'one-more-topic', groupId = 'spring-kafka-group') public void listen(ConsumerRecord<?, ?> record) { Optional<?> kafkaMessage = Optional.ofNullable(record.value()); if (kafkaMessage.isPresent()) { String message = (String) kafkaMessage.get(); log.info('message: {}', message); } }}

到此這篇關于Java實現Kafka生產者和消費者的示例的文章就介紹到這了,更多相關Java Kafka生產者和消費者 內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲一区导航| 热久久久久久久| 免费日韩av| 亚洲区第一页| 美女日韩在线中文字幕| 日韩精品免费视频一区二区三区| 欧美日韩国产免费观看视频| 亚洲欧洲av| 少妇精品久久久一区二区| 99tv成人| 午夜久久一区| 亚洲综合小说| 国产色噜噜噜91在线精品| 欧美激情网址| 国产99在线| 久久中文亚洲字幕| 丝袜美腿亚洲色图| 日韩精彩视频在线观看| 久久久久欧美精品| 日本综合视频| www.九色在线| 91视频久久| 婷婷成人av| 国产亚洲字幕| 亚洲精品成人一区| 7777精品| 精品一区视频| 激情综合激情| 亚洲免费资源| 久久免费视频66| 欧美理论视频| 鲁大师影院一区二区三区| 日韩高清一区在线 | 婷婷久久一区| 亚洲精品在线a| 成人免费一区| 中文精品视频| 欧美激情麻豆| 精品欧美久久| 国产精品99久久免费| 丝袜美腿一区| 婷婷久久免费视频| 日本久久黄色| 老牛国产精品一区的观看方式| 亚洲一二av| 国产成人精品一区二区三区在线| 伊人久久亚洲热| 国产精品欧美一区二区三区不卡| 精精国产xxxx视频在线播放| 亚洲精品三级| 日本在线高清| 亚洲v天堂v手机在线| 黄色网一区二区| 日本大胆欧美人术艺术动态| 精品99在线| 精品久久电影| 亚洲免费精品| 日韩一区二区三区在线看| 久久精品二区亚洲w码| 成人精品视频| 亚洲第一区色| 免费观看在线综合色| 国产丝袜一区| 麻豆精品在线| 久久精品中文| 最新亚洲激情| 国产伦久视频在线观看| 1024精品一区二区三区| 婷婷亚洲五月| 欧美偷窥清纯综合图区| 日韩欧美美女在线观看| 精品一区二区三区视频在线播放 | 日本在线一区二区三区| 九色porny丨国产首页在线| 91精品国产自产精品男人的天堂| 1000部精品久久久久久久久| 国产精品密蕾丝视频下载| 久久av一区二区三区| 国产成人免费精品| 久久九九99| 久久国产乱子精品免费女| 国产精品久久久久av蜜臀| 国产精品3区| 免费观看在线色综合| 国际精品欧美精品| 日本视频中文字幕一区二区三区| 亚欧成人精品| 美女精品视频在线| 首页亚洲欧美制服丝腿| 日韩理论视频| 欧美1区2区3| 日韩动漫一区| 午夜在线精品偷拍| 亚洲二区三区不卡| 久久一区二区三区电影| 欧美aa在线观看| 国产在线不卡一区二区三区| 国产精品视频一区二区三区| 亚洲精品福利| 视频在线观看一区| 午夜久久免费观看| 久久久精品日韩| 日本一区二区免费高清| 久久精品国产成人一区二区三区| 日韩va亚洲va欧美va久久| 亚洲婷婷免费| 国产精品网站在线看| 日韩影院免费视频| 999国产精品视频| 麻豆一区二区三| 日本免费在线视频不卡一不卡二| 国产一区导航| 免费久久久久久久久| 色婷婷综合网| 国产一区二区三区日韩精品 | 欧美国产一级| 久久国内精品| 欧美亚洲三级| 久久久久国产精品一区三寸| 国产99久久久国产精品成人免费| 宅男在线一区| 国产毛片久久| 日韩激情精品| 天堂中文av在线资源库| 极品裸体白嫩激情啪啪国产精品| 欧美日韩四区| 精品高清久久| 激情六月综合| 日韩精品91亚洲二区在线观看| 91精品国产调教在线观看| 国产亚洲精品自拍| 精品国产欧美日韩| 岛国av在线网站| 精品色999| 国产网站在线| 婷婷成人在线| 最新亚洲激情| 免费在线观看一区二区三区| 蜜乳av另类精品一区二区| 男女性色大片免费观看一区二区 | 麻豆精品视频在线| 中文字幕一区久| 久久免费国产| 777久久精品| 久久久国产精品一区二区中文| 国产成人久久精品麻豆二区| 捆绑调教日本一区二区三区| 久久精品观看| 国产精品毛片| 婷婷精品在线| 久久久免费人体| 成人午夜国产| 蜜臀av性久久久久蜜臀aⅴ四虎 | av资源中文在线| 女人av一区| 日韩精品亚洲专区| 精品视频在线你懂得| 99久久视频| 亚洲精品国产日韩| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 天堂成人免费av电影一区| 日韩精品久久久久久久软件91| 国产精品115| 免费视频一区三区| 91免费精品国偷自产在线在线| 成人影视亚洲图片在线| 国产精品99一区二区| 午夜电影一区| 精品久久久中文字幕| 99精品网站| 日韩高清电影免费| 激情黄产视频在线免费观看| 首页国产欧美日韩丝袜| 久久精品九色| 日韩亚洲在线| 久久影视三级福利片| 欧美日韩视频| 另类小说一区二区三区| 午夜av不卡| 香蕉精品视频在线观看| 久久一区二区三区喷水| 精品一区二区男人吃奶| 久久久久久一区二区| 老司机精品视频网| 动漫av一区| 亚洲激情婷婷| 日韩欧美中文字幕一区二区三区| 一本色道精品久久一区二区三区| 日韩精品一级二级 | 九一成人免费视频| 91精品国产福利在线观看麻豆| 亚洲美女久久精品| 欧美日韩一二三四| 国产一区二区三区四区五区传媒| 激情综合在线| 欧美经典一区| 视频一区视频二区中文字幕| 成人亚洲精品| 最新亚洲国产| 精品三级久久|