开发者社区> 问答> 正文

spring rabbitmq 延时队列配置无效-java报错

"

<code class=""language-xml""><?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rabbit="http://www.springframework.org/schema/rabbit" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit-1.7.xsd">

<!-- 连接配置 -->
<rabbit:connection-factory id="connectionFactory"
                           host="${rabbitmq.host}"
                           username="${rabbitmq.username}"
                           password="${rabbitmq.password}"
                           port="${rabbitmq.port}"
                           virtual-host="${rabbitmq.vhost}"/>

<rabbit:admin connection-factory="connectionFactory"/>

<!-- spring template声明-->
<rabbit:template id="amqpTemplate"
                 connection-factory="connectionFactory"
                 message-converter="jsonMessageConverter"/>

<!-- 消息对象json转换类 -->
<bean id="jsonMessageConverter"
      class="org.springframework.amqp.support.converter.Jackson2JsonMessageConverter"/>


<!--延迟队列:没人消费-->
<rabbit:queue name="delayQueue" durable="true">
    <rabbit:queue-arguments>
        <entry key="x-dead-letter-exchange" value="directExchange"/>
        <entry key="x-dead-letter-routing-key" value="taskRoutingKey"/>
    </rabbit:queue-arguments>
</rabbit:queue>

<!--死信队列:过期的消息会被路由到该队列,然后被消费-->
<rabbit:queue name="taskQueue" durable="true" />

<rabbit:direct-exchange name="directExchange" durable="true">
    <rabbit:bindings>
        <rabbit:binding queue="delayQueue" key="delayRoutingKey"/>
        <rabbit:binding queue="taskQueue" key="taskRoutingKey"/>
    </rabbit:bindings>
</rabbit:direct-exchange>

<bean id="messageReceiver" class="com.huweitech.service.rabbitmq.impl.MQConsumerImpl"/>

<rabbit:listener-container connection-factory="connectionFactory">
    <rabbit:listener ref="messageReceiver" queues="taskQueue"/>
</rabbit:listener-container>

</beans>

这个是我的配置,我在rabbit控制台上看到消息发出去了,但是感觉像一发出去就被丢弃了,求各位指点。

"

展开
收起
montos 2020-05-31 12:16:35 728 0
1 条回答
写回答
取消 提交回答
  • "

    感觉像一发出去就被丢弃了……

    感觉?

    ######我博客里有整合例子######

    留个联系方式   有事情请教您

    "
    2020-05-31 12:16:45
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载