The discussion is based on following library
- Spring Framework 6.1.8
- Spring Boot 3.3.0
- Spring AMQP 3.1.5
Components
Class | Function |
---|---|
RabbitAdmin | Exchange, queue and binding operation |
Queue | Represent definition of queue |
RabbitConnectionDetails | Connection information |
RabbitConnectionFactoryBeanConfigurer | Bean for configure connection factory |
CachingConnectionFactoryConfigurer | Bean for configure CachingConnectionFactory |
CachingConnectionFactory | Connection factory |
RabbitTemplateConfigurer | Bean for configure RabbitTemplate |
RabbitTemplate | Send and receive message |
RabbitMessagingTemplate | Send and receive in Spring Messaging |
Auto-configuration class
Class org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration
Operation run in which thread
Send message to exchange by RabbitTemplate/RabbitMessagingTemplate
Current thread due to synchronous operation.
Receive message from queue by RabbitTemplate/RabbitMessagingTemplate
Current thread due to synchronous operation.
Queue consumer registered by RabbitListener annotation
Consumer under the thread name org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#X-X.