32.2.2 发送消息

Spring的AmqpTemplateAmqpAdmin会被自动配置,你可以将它们直接注入beans中:

  1. import org.springframework.amqp.core.AmqpAdmin;
  2. import org.springframework.amqp.core.AmqpTemplate;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.stereotype.Component;
  5. @Component
  6. public class MyBean {
  7. private final AmqpAdmin amqpAdmin;
  8. private final AmqpTemplate amqpTemplate;
  9. @Autowired
  10. public MyBean(AmqpAdmin amqpAdmin, AmqpTemplate amqpTemplate) {
  11. this.amqpAdmin = amqpAdmin;
  12. this.amqpTemplate = amqpTemplate;
  13. }
  14. // ...
  15. }

可以使用相似方式注入RabbitMessagingTemplate,如果定义MessageConverter bean,它将自动关联到自动配置的AmqpTemplate

如果需要的话,所有定义为bean的org.springframework.amqp.core.Queue将自动在RabbitMQ实例中声明相应的队列。你可以启用AmqpTemplate的重试选项,例如代理连接丢失时,重试默认不启用。