【发布时间】:2019-02-09 20:33:28
【问题描述】:
我正在尝试故意使 JMS 调用在我已经编写的方法中失败,以测试我的 JMS 错误处理程序。我尝试了几种不同的方法,例如将空值等传递给队列,但没有一个成功调用我的 JMS 错误处理程序。任何人都知道快速获取正确错误以进行测试的方法吗?谢谢。
【问题讨论】:
标签: java spring spring-boot error-handling jms
我正在尝试故意使 JMS 调用在我已经编写的方法中失败,以测试我的 JMS 错误处理程序。我尝试了几种不同的方法,例如将空值等传递给队列,但没有一个成功调用我的 JMS 错误处理程序。任何人都知道快速获取正确错误以进行测试的方法吗?谢谢。
【问题讨论】:
标签: java spring spring-boot error-handling jms
“错误处理程序”我假设您的意思是 JMS ExceptionListener。如果这是真的,那么值得注意的是 ExceptionListener 仅在无法以任何其他方式传递相应 Connection 的异常时才被调用。我的建议是在测试运行时以编程方式终止代理。如果这对您来说不可行,那么您需要找到其他方式在测试期间强制断开连接。
【讨论】:
handleError 方法从何而来?它不是 JMS 1.1 或 2.0 规范的一部分。根据您的问题标签,我假设它来自 Spring,但您在标题或问题本身中都没有提到这一点。我对 Spring 不是很熟悉,所以在这里很难做出假设。