当前位置: 首页 > 知识库问答 >
问题:

春云流未抛出异常

漆雕修德
2023-03-14

我正在使用RabbitMQ的spring cloud stream。我试图通过在运行时删除队列并将消息发送到删除的队列来进行否定测试。

source.queue2Source().send(MessageBuilder.withPayload(queue4DTO).build());

我正在侦听来自队列1的消息,并将消息发送到队列2(已删除的一个)。我原以为上面的代码会抛出异常,但事实并非如此。甚至从队列1读取的消息也已被确认。我在队列1和队列2上有一个死信队列,但消息没有进入DLQ。

共有1个答案

通京
2023-03-14

这是因为您正在向定义的通道发送消息。该通道确实存在,并且通过AMQPOutboundChannelAdapter桥接到一个交换机,默认情况下,该交换机将删除无法传递的邮件。

 类似资料:
  • 我将一个使用Spring AMQP的项目迁移到一个使用Spring Cloud Stream和RabbitMQ的项目。 谢了!

  • Spring Cloud Kafka Streams与Spring Cloud Stream、Spring Cloud Function、Spring AMQP和Spring for Apache Kafka有什么区别?

  • 我用的是Apache Kafka 2.7.0和Spring Cloud Stream Kafka Streams。 在我的Spring Cloud Stream (Kafka Streams)应用程序中,我已经将我的application.yml配置为当输入主题中的消息出现反序列化错误时使用sendToDlq机制: 我启动了我的应用程序,但我看不到这个主题存在。文档指出,如果 DLQ 主题不存在,

  • 我正在尝试学习异常处理。我似乎找不到String[]a=names(scnr);若要在超出3个元素时抛出超出界限的异常,请执行以下操作。我知道,大多数人都讨厌越界的错误,而我正在努力让它发生,我一辈子都搞不清我到底做错了什么。一整天都在搜索各种东西。但我似乎找不到我要找的东西。所以我需要一些帮助和视角。 因此,我输入一个完整的字符串,我根据逗号和空格对其进行定界(修剪和拆分),然后将这些片段存储到

  • 如何提供一个在条件不匹配时调用的处理程序? 如果我有两个处理程序,第一个有条件,第二个没有条件,当第一个条件匹配时,两个处理程序都被调用。我如何避免这种情况?

  • 抛出异常的行为是否可能抛出不同的异常? 为了抛出异常,必须(可选地)分配新对象,并调用其构造函数(隐式调用fillinstacktrace)。在某些情况下,听起来像addSupressed也被称为。那么如果没有足够的内存会发生什么呢?JVM是否需要预分配内置异常?例如,(1/0)会抛出OutOfMemoryError而不是ArithmeticException吗? 此外,构造函数是一个方法调用,因