
请阅读参考手册。
该行为(主要)由所控制
ErrorHandler。
MessageConversionException-容器为大多数异常重新排队消息,但某些异常被认为是致命的。通常,如果无法转换邮件,则重新传递它是没有意义的。
所有这些都在名为“ 异常处理”的部分(令人惊讶地?)中清楚地说明了
从版本1.3.2开始,默认的ErrorHandler现在是ConditionalRejectingErrorHandler,它将拒绝(而不是重新排队)由于不可恢复的错误而失败的消息:
osamqp … MessageConversionException
osmessaging … MessageConversionException
osmessaging … MethodArgumentNotValidException
osmessaging … MethodArgumentTypeMismatchException
java.lang.NoSuchMethodException
java.lang.ClassCastException
使用MessageConverter转换传入的消息有效负载时,可以引发第一个。如果映射到@RabbitListener方法时需要其他转换,则转换服务可能会抛出第二个。如果在侦听器中使用了验证(例如@Valid),并且验证失败,则可能引发第三个事件。如果将入站消息转换为对目标方法不正确的类型,则可能会抛出第四个错误。例如,将该参数声明为Message,但收到Message。
在版本1.6.3中添加了第五和第六。
您可以根据
ErrorHandler需要自定义。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)