最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring boot集成Kafka消息中間件代碼實例

 更新時間:2020年05月16日 08:43:45   作者:墨營  
這篇文章主要介紹了Spring boot集成Kafka消息中間件代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一.創(chuàng)建Spring boot項目,添加如下依賴

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework.kafka/spring-kafka -->
    <dependency>
      <groupId>org.springframework.kafka</groupId>
      <artifactId>spring-kafka</artifactId>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients -->
    <dependency>
      <groupId>org.apache.kafka</groupId>
      <artifactId>kafka-clients</artifactId>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.41</version>
    </dependency>

二.配置文件

server.port=4400

#kafka配置
#============== kafka ===================
# 指定kafka 代理地址,可以多個
spring.kafka.bootstrap-servers=192.168.102.88:9092
# 指定默認消費者group id
spring.kafka.consumer.group-id=jkafka.demo
#earliest 當各分區(qū)下有已提交的offset時,從提交的offset開始消費;無提交的offset時,從頭開始消費
#latest 當各分區(qū)下有已提交的offset時,從提交的offset開始消費;無提交的offset時,消費新產生的該分區(qū)下的數據
#none topic各分區(qū)都存在已提交的offset時,從offset后開始消費;只要有一個分區(qū)不存在已提交的offset,則拋出異常
spring.kafka.consumer.auto-offset-reset=latest
spring.kafka.consumer.enable-auto-commit=false
spring.kafka.consumer.auto-commit-interval=100
# 指定消費者消息key和消息體的編解碼方式
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer

三.編輯消息實體

@Data
public class Message implements Serializable{

  /**
   * 
   */
  private static final long serialVersionUID = 2522280475099635810L;

  //消息ID
  private String id;

  //消息內容
  private String msg;

  // 消息發(fā)送時間
  private Date sendTime;

}

四.消息發(fā)送類

@Component
public class KfkaProducer {

  private static Logger logger = LoggerFactory.getLogger(KfkaProducer.class);

  @Autowired
  private KafkaTemplate<String, String> kafkaTemplate;

  public void send(String topic,Message message) {
    try {
      logger.info("正在發(fā)送消息...");
      kafkaTemplate.send(topic,JSON.toJSONString(message));
      logger.info("發(fā)送消息成功 ----->>>>> message = {}", JSON.toJSONString(message));
    } catch (Exception e) {
      e.getMessage();
    }

  }
}

五.發(fā)現監(jiān)聽接收類

@Component
public class KfkaListener {

  private static Logger logger = LoggerFactory.getLogger(KfkaListener.class);

  @KafkaListener(topics = {"hello"})
  public void listen(ConsumerRecord<?, ?> record) {
    Optional<?> kafkaMessage = Optional.ofNullable(record.value());
    if (kafkaMessage.isPresent()) {
      Object message = kafkaMessage.get();
      logger.info("接收消息------------ record =" + record);
      logger.info("接收消息----------- message =" + message);
    }
  }
}

六.定時發(fā)送信息測試類

@EnableScheduling
@Component
public class PublisherController {

  private static final Logger log = LoggerFactory.getLogger(PublisherController.class);

  @Autowired
  private KfkaProducer kfkaProducer;

  @Scheduled(fixedRate = 5000)
  public void pubMsg() {
    Message msg=new Message();
    msg.setId(UUID.randomUUID().toString());
    msg.setMsg("發(fā)送這條消息給你,你好啊?。。。。?!");
    msg.setSendTime(new Date());
    kfkaProducer.send("hello", msg);;
    log.info("Publisher sendes Topic... ");
  }
}

七.測試結果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java繪圖庫JFreeChart的使用教程

    Java繪圖庫JFreeChart的使用教程

    圖表是一種以簡單方式顯示信息的圖形,JFreeChart允許創(chuàng)建各種交互式和非交互式圖表,本文主要介紹了Java繪圖庫JFreeChart的使用教程,感興趣的可以了解一下
    2023-09-09
  • SpringBoot整合MongoDB的步驟詳解

    SpringBoot整合MongoDB的步驟詳解

    這篇文章主要介紹了SpringBoot整合MongoDB的步驟詳解,幫助大家更好的理解和學習使用SpringBoot框架,感興趣的朋友可以了解下
    2021-04-04
  • 淺談java 數據處理(int[][]存儲與讀取)

    淺談java 數據處理(int[][]存儲與讀取)

    下面小編就為大家?guī)硪黄獪\談java 數據處理(int[][]存儲與讀取)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java 中校驗時間格式的常見方法

    Java 中校驗時間格式的常見方法

    在實際項目開發(fā)中,跟時間參數打交道是必不可少的,為了保證程序的安全性、健壯性,一般都會對參數進行校驗,其他類型的參數校驗很好實現,那你知道時間參數的是怎么校驗的嗎,下面給大家分享Java 中校驗時間格式的方法,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • spring kafka框架中@KafkaListener 注解解讀和使用案例

    spring kafka框架中@KafkaListener 注解解讀和使用案例

    Kafka 目前主要作為一個分布式的發(fā)布訂閱式的消息系統(tǒng)使用,也是目前最流行的消息隊列系統(tǒng)之一,這篇文章主要介紹了kafka @KafkaListener 注解解讀,需要的朋友可以參考下
    2023-02-02
  • Java那些鮮為人知的關鍵字volatile詳析

    Java那些鮮為人知的關鍵字volatile詳析

    這篇文章主要給大家介紹了關于Java那些鮮為人知的關鍵字volatile的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Java縮略圖生成庫之Thumbnailator應用說明

    Java縮略圖生成庫之Thumbnailator應用說明

    Thumbnailator是一個為Java界面更流暢的縮略圖生成庫,從API提供現有的圖像文件和圖像對象的縮略圖中簡化了縮略過程,兩三行代碼就能夠從現有圖片生成縮略圖,使用起來非常方便,需要的朋友可以了解下
    2012-12-12
  • Spring security基于數據庫中賬戶密碼認證

    Spring security基于數據庫中賬戶密碼認證

    這篇文章主要介紹了Spring security基于數據庫中賬戶密碼認證,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • java實現文件重命名功能

    java實現文件重命名功能

    這篇文章主要介紹了java實現文件重命名功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • SpringBoot實現JPA多數據源配置小結

    SpringBoot實現JPA多數據源配置小結

    本文主要介紹了SpringBoot實現JPA多數據源配置小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01

最新評論

华阴市| 嵊泗县| 武邑县| 皋兰县| 道真| 漳州市| 迁西县| 永泰县| 开封市| 梧州市| 米脂县| 民丰县| 安西县| 蒙自县| 盈江县| 九龙坡区| 融水| 静安区| 靖宇县| 永年县| 东乡族自治县| 增城市| 玛沁县| 县级市| 平凉市| 鄂温| 日喀则市| 哈密市| 三门峡市| 闸北区| 横山县| 涡阳县| 北京市| 北碚区| 东光县| 东源县| 祁东县| 灌南县| 金塔县| 绥滨县| 北碚区|