如果JBoss宕机,我有要求得到通知的要求。我以前在使用JMS功能。以下代码段适用于JBoss AS6。如果服务器关闭,我可以得到通知。然后,我正在按照自己的逻辑从客户端计算机重新连接。但是现在它不适用于JBoss EAP 6.4。实际上,如果在建立连接的同时JBoss处于关闭状态,则可以正常工作。但是,如果已经设置了异常,则不会调用此异常回调。
private final void intitializeJmsTopic(final String userName, final String password) {
try {
topicConnection = (TopicConnection) connFactory.createConnection();
topicSession = topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
topicSubscriber = topicSession.createSubscriber(topic, getMessageSelector(), true);
topicSubscriber.setMessageListener(this);
topicConnection.setExceptionListener(new ExceptionListener() {
@Override
public void onException(JMSException jmse) {
disconnect();
onJMSDisconnect();
}
});
topicConnection.start();
} catch (InvalidDestinationException destEx) {
throw new CommunicationException(CommunicationExceptionType.DESTINATION_NOT_AVAILABLE, destEx);
} catch (InvalidSelectorException selEx) {
throw new CommunicationException(CommunicationExceptionType.SELECTOR_NOT_VALID, selEx);
} catch (Exception ex) {
throw new CommunicationException(ex);
}
}