Spring AMQP 源碼分析 08 - XML 配置

### 準備

## 目標

經過 XML 配置文件使用 Spring AMQP

## 前置知識

《Spring AMQP 源碼分析 07 - MessageListenerAdapter

## 相關資源

Sample code:< https://github.com/gordonklg/study>,rabbitmq module
源碼版本:Spring AMQP 1.7.3.RELEASE

## 測試代碼

gordon.study.rabbitmq.springamqp.XmlConfig.java
 
springamqp1.xml


### 分析

## 如何查看配置

Spring 項目廣泛採用 XSD 定義 XML 文件格式,具體能夠查看對應的 XSD 文件:  http://www.springframework.org/schema/rabbit/spring-rabbit.xsd
 
XML 文件解析包爲 org.springframework.amqp.rabbit.config,包中的各個 Parser 類用於解析對應的 XML 元素,建立相應的 BeanDefinition,指導 IOC 容器建立實例。例如,ListenerContainerParser 類用於解析 <rabbit:listener-container> 元素,建立出兩個 RootBeanDefinition,分別表示 listener-container 和 listener(對應的 class 爲 SimpleMessageListenerContainer MessageListernerAdapter)。
經過 Parser 類,能夠了解 XML 中的元素與屬性與 Spring AMQP 實現代碼的對應關係。
 
具體細節不在本文範疇內,之後有機會會分析 Spring 源碼。
 

## 示例配置詳解

connection-factory 定義了鏈接工廠,其實現類是  CachingConnectionFactory
 
listener 定義了消息監聽器,其實現類是 MessageListernerAdapter。ref 對應 delegate 屬性,method 對應 defaultListenerMethod 屬性。queue-names 表示整個 ListenerContainer 監聽的隊列列表,它實際上對應 SimpleMessageListenerContainer 的 queueNames 屬性。
相關文章
相關標籤/搜索