【问题标题】:Need to purposely Fail JMS to invoke Error Handler需要故意让 JMS 失败来调用错误处理程序
【发布时间】:2019-02-09 20:33:28
【问题描述】:

我正在尝试故意使 JMS 调用在我已经编写的方法中失败,以测试我的 JMS 错误处理程序。我尝试了几种不同的方法,例如将空值等传递给队列,但没有一个成功调用我的 JMS 错误处理程序。任何人都知道快速获取正确错误以进行测试的方法吗?谢谢。

【问题讨论】:

    标签: java spring spring-boot error-handling jms


    【解决方案1】:

    “错误处理程序”我假设您的意思是 JMS ExceptionListener。如果这是真的,那么值得注意的是 ExceptionListener 仅在无法以任何其他方式传递相应 Connection 的异常时才被调用。我的建议是在测试运行时以编程方式终止代理。如果这对您来说不可行,那么您需要找到其他方式在测试期间强制断开连接。

    【讨论】:

    • 它的目标是捕获任何 JMSException,然后使用 handleError 方法覆盖正确处理错误,我只是不知道如何做一个简单的调用 mid-method 让它抛出一个JMS 异常。
    • handleError 方法从何而来?它不是 JMS 1.1 或 2.0 规范的一部分。根据您的问题标签,我假设它来自 Spring,但您在标题或问题本身中都没有提到这一点。我对 Spring 不是很熟悉,所以在这里很难做出假设。
    • 哦好吧对不起,是的,就是实现ErrorHandler接口的spring错误处理器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    相关资源
    最近更新 更多