SpringBoot整合RabbitMQ报错
Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Configuration problem: Id is required for element ‘queue-arguments’ when used as a top-level tag
原因是配置配置交换机一些属性的时候,使用 rabbit:queue标签没有把rabbit:queue-arguments标签闭合进去,也就是参数配置没有加载成功
正确写法
示例代码
<!-- 1 声明正常队列和交换机test_queue_dlx test_exchange_dlx-->
<rabbit:queue id="test_queue_dlx" name="test_queue_dlx">
<!-- 3正常队列绑定死信交换机 使用arguments和entry设置参数-->
<rabbit:queue-arguments>
<!--3.1死信交换机名称 x-dead-letter-exchange-->
<entry key="x-dead-letter-exchange" value="exchange_dlx"/>
<!--3.2发送给死信交换机的路由键 x-dead-letter-routing-key-->
<entry key="x-dead-letter-routing-key" value="dlx.hehe"/>
<!--4让消息完成死信-->
<!--4.1 设置队列过期时间 ttl 10s-->
<entry key="x-message-ttl" value="10000" value-type="java.lang.Integer"/>
<!--4.2 设置队列的长度限制 max_length-->
<entry key="x-max-length" value="10" value-type="java.lang.Integer"/>
</rabbit:queue-arguments>
</rabbit:queue>