首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMS ExceptionListener

JMS ExceptionListener
EN

Stack Overflow用户
提问于 2015-05-28 08:38:45
回答 2查看 7.2K关注 0票数 2

我使用javax.jms.Connection向JBoss501发送和接收JMS消息。我也在使用Connection.setExceptionListener()。我想知道是否需要在Connection.start()启动连接之前设置异常侦听器?任意复制JBoss连接异常的任何想法,以确认是否调用了异常侦听器。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-28 08:57:11

从规范中:

如果JMS提供程序检测到连接对象的严重问题,它会通知连接对象的ExceptionListener (如果已经注册)。它通过调用侦听器的onException方法来做到这一点,并将描述问题的JMSException参数传递给它。 异常侦听器允许异步通知客户端问题。有些连接只使用消息,因此它们没有其他方法来了解它们的连接失败。

请记住,这里有关于如何处理异常的特定于供应商的实现的位置。一些供应商试图“修复”这种情况,如果可能的话。

现在关于在设置异常列表之前或之后启动连接.总是在启动连接.之前设置异常侦听器。

关于繁殖,我想你可以

  • 启动一个使用者,应该运行connection.start。等着留言。
  • 立即关机。
  • 重新开始。

我还知道,使用Eclipse或其他dev工具将帮助您在调试模式下启动,并且您可以在任何特定的时间,就像调试器向您显示的那样,将状态中止jboss服务器并重新启动它。

票数 1
EN

Stack Overflow用户

发布于 2015-06-03 15:02:03

使用JBoss5.0.1,即使在启动连接之后,设置异常侦听器也能正常工作。正如"MrSimpleMind“异常监听器所提到的那样,在启动连接之前--实际上--最好在从ConnectionFactory创建连接时立即进行。

即使连接没有启动,异常侦听器也是有效的--在Jboss 501的情况下。

代码语言:javascript
复制
 //Main       
 try {
        connection = getConnection();
        connection.setExceptionListener(new MyExceptionListener());
       //Exception listener is effective even before connection is started.
        //connection.start(); 
        while(true){
            try {
                Thread.sleep(1000 * 5);
                Log.l("Kill the JMS provider any time now. !! Observe if the JMS listener works.");
            } catch (InterruptedException e) {
                //do nothing.
            }
        }
    } catch (NamingException e) {
        e.printStackTrace();
    } catch (JMSException e) {
        e.printStackTrace();
    }

    //Exception Listener
    public class MyExceptionListener implements ExceptionListener {

    @Override
    public void onException(JMSException e) {
            Log.l("Exception listener invoked");
    }
    }

为了再现触发/调用ExceptionListener的场景,我使用了JBoss管理控制台,并使用Jboss控制台公开的mx停止了ConnectionFactory。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30501338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档