很奇怪,我当初做过jms的侦听,采用的是异步的,客户端可以检测到连接异常啊。不过那时候是 wl 7 sp2如果实在不行,我看你可以采用同步的检测,甚至采用心跳线的功能,超过30秒,3次没反应,则判断失败。

解决方案 »

  1.   

    代码我附一下:tcf = (TopicConnectionFactory) locator.lookUpObject("kdMsgFct");
    tc = tcf.createTopicConnection();
    tc.setExceptionListener(new ExceptionListener(){
    public void onException(JMSException arg0) {
          System.out.println("和服务器的连接已断开")
                                     }
    });
    Topic t = (Topic) locator.lookUpObject(tName);
    ts = (WLTopicSession) tc.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
    ts.setExceptionListener(new ExceptionListener(){
    public void onException(JMSException arg0) {
    System.out.println("和服务器的连接已断开")
                                    }
    } );to[java2000_net]:同步的检测是指的什么呢?心跳线检测又是指的什么呢? 是指的硬编码定时连接尝试吗?