Spring AMQP 源碼分析 08 - XML 配置
阿新 • • 發佈:2017-07-18
logs blog http cti ase xsd -name border 分析
### 分析 和 MessageListernerAdapter)。
通過 Parser 類,可以了解 XML 中的元素與屬性與 Spring AMQP 實現代碼的對應關系。
具體細節不在本文範疇內,以後有機會會分析 Spring 源碼。
listener 定義了消息監聽器,其實現類是 MessageListernerAdapter。ref 對應 delegate 屬性,method 對應 defaultListenerMethod 屬性。queue-names 表示整個 ListenerContainer 監聽的隊列列表,它實際上對應 SimpleMessageListenerContainer 的 queueNames 屬性。
### 準備
## 目標
通過 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## 示例配置詳解
connection-factory 定義了連接工廠,其實現類是 CachingConnectionFactory。listener 定義了消息監聽器,其實現類是 MessageListernerAdapter。ref 對應 delegate 屬性,method 對應 defaultListenerMethod
Spring AMQP 源碼分析 08 - XML 配置