亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

偵聽(tīng)消息隊(duì)列的Message Listener類(lèi)示例詳解

 更新時(shí)間:2023年12月09日 10:48:33   作者:Rcfee  
Spring AMQP 是基于 Spring 框架的AMQP消息解決方案,提供模板化的發(fā)送和接收消息的抽象層,提供基于消息驅(qū)動(dòng)的 POJO的消息監(jiān)聽(tīng)等,簡(jiǎn)化了我們對(duì)于RabbitMQ相關(guān)程序的開(kāi)發(fā),本文給大家介紹偵聽(tīng)消息隊(duì)列的Message Listener類(lèi),感興趣的朋友一起看看吧

Spring AMQP 是基于 Spring 框架的AMQP消息解決方案,提供模板化的發(fā)送和接收消息的抽象層,提供基于消息驅(qū)動(dòng)的 POJO的消息監(jiān)聽(tīng)等,簡(jiǎn)化了我們對(duì)于RabbitMQ相關(guān)程序的開(kāi)發(fā)。

Spring AMQP包含一些模塊,如:spring-amqp, spring-rabbit and spring-erlang等,每個(gè)模塊分別由獨(dú)立的一些Jar包組成。

AbstractAdaptableMessageListener用于在spring容器接收到消息后用于處理消息的抽象基類(lèi),如果需要使用自己定義的pojoL類(lèi)來(lái)實(shí)現(xiàn)處理消息時(shí),必須要繼承該類(lèi),并實(shí)現(xiàn)onMessage()方法,如下:

public class MessageReceive extends AbstractAdaptableMessageListener {
    private static final Logger LOGGER = LoggerFactory.getLogger(MessageReceive.class);
    @Override
    public void onMessage(Message message, Channel channel) throws Exception {
        LOGGER.info("receive message:{}", new String(message.getBody(), "UTF-8"));
    }
}

實(shí)現(xiàn)了MessageListener, ChannelAwareMessageListener接口

MessageListener

@FunctionalInterface
public interface MessageListener {
	void onMessage(Message message);
}

@FunctionalInterface注解表示該接口是一個(gè)功能類(lèi)接口

ChannelAwareMessageListener

@FunctionalInterface
public interface ChannelAwareMessageListener {
	/**
	 * Callback for processing a received Rabbit message.
	 * <p>Implementors are supposed to process the given Message,
	 * typically sending reply messages through the given Session.
	 * @param message the received AMQP message (never <code>null</code>)
	 * @param channel the underlying Rabbit Channel (never <code>null</code>)
	 * @throws Exception Any.
	 */
	void onMessage(Message message, Channel channel) throws Exception;
}

在AbstractAdaptableMessageListener中實(shí)現(xiàn)了MessageListener類(lèi)的onMessage(Message message)方法,其實(shí)際實(shí)現(xiàn)的還是ChannelAwareMessageListener類(lèi)中的onMessage方法,channel設(shè)置為null

@Override
	public void onMessage(Message message) {
		try {
			onMessage(message, null);
		}
		catch (Exception e) {
			throw new ListenerExecutionFailedException("Listener threw exception", e, message);
		}
	}

自定義消息處理的POJO類(lèi)繼承AbstractAdaptableMessageListener類(lèi)后,重寫(xiě)onMessage方法,當(dāng)spring容器接收消息后,會(huì)自動(dòng)交由onMessage進(jìn)行處理。

到此這篇關(guān)于偵聽(tīng)消息隊(duì)列的Message Listener類(lèi)的文章就介紹到這了,更多相關(guān)偵聽(tīng)消息隊(duì)列Message Listener類(lèi)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • kaptcha驗(yàn)證碼使用方法詳解

    kaptcha驗(yàn)證碼使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了kaptcha驗(yàn)證碼的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Java基礎(chǔ)之顏色工具類(lèi)(超詳細(xì)注釋)

    Java基礎(chǔ)之顏色工具類(lèi)(超詳細(xì)注釋)

    這篇文章主要介紹了Java基礎(chǔ)之顏色工具類(lèi)(超詳細(xì)注釋?zhuān)?文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • springboot實(shí)現(xiàn)多文件上傳功能

    springboot實(shí)現(xiàn)多文件上傳功能

    這篇文章主要為大家詳細(xì)介紹了springboot實(shí)現(xiàn)多文件上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • MyBatis-Plus:saveOrUpdate根據(jù)指定字段更新或插入方式

    MyBatis-Plus:saveOrUpdate根據(jù)指定字段更新或插入方式

    這篇文章主要介紹了MyBatis-Plus:saveOrUpdate根據(jù)指定字段更新或插入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • SpringBoot整合Mybatis實(shí)現(xiàn)CRUD

    SpringBoot整合Mybatis實(shí)現(xiàn)CRUD

    這篇文章主要介紹了SpringBoot整合Mybatis實(shí)現(xiàn)CRUD的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 搭建MyBatis-Plus框架并進(jìn)行數(shù)據(jù)庫(kù)增刪改查功能

    搭建MyBatis-Plus框架并進(jìn)行數(shù)據(jù)庫(kù)增刪改查功能

    這篇文章主要介紹了搭建MyBatis-Plus框架并進(jìn)行數(shù)據(jù)庫(kù)增刪改查,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • 淺談Java并發(fā)中的內(nèi)存模型

    淺談Java并發(fā)中的內(nèi)存模型

    這篇文章主要介紹了Java并發(fā)中的內(nèi)存模型,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-05-05
  • 淺析對(duì)java枚舉類(lèi)型的認(rèn)識(shí)

    淺析對(duì)java枚舉類(lèi)型的認(rèn)識(shí)

    在本文里我們給大家分享了關(guān)于對(duì)java枚舉類(lèi)型的認(rèn)識(shí)和相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們跟著學(xué)習(xí)參考下。
    2019-03-03
  • java實(shí)現(xiàn)ftp文件上傳下載功能

    java實(shí)現(xiàn)ftp文件上傳下載功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)ftp文件上傳下載功能的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Spring注解開(kāi)發(fā)生命周期原理解析

    Spring注解開(kāi)發(fā)生命周期原理解析

    這篇文章主要介紹了Spring注解開(kāi)發(fā)生命周期原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論