org.messaginghub.pooled.jms.JmsPoolConnectionFactory аварийное переключение с MessageListener - PullRequest
0 голосов
/ 10 апреля 2020

Я использовал JmsPoolConnectionFactory для создания ConnectionFactory. И с помощью этого ConnectionFactory я создал Connection и MessageListener. Найдите ниже код:

import javax.annotation.PreDestroy;
import javax.jms.Connection;
import javax.jms.ExceptionListener;
import javax.jms.JMSException;
import javax.jms.MessageConsumer;
import javax.jms.Session;

import org.apache.log4j.Logger;
import org.messaginghub.pooled.jms.JmsPoolConnection;
import org.messaginghub.pooled.jms.JmsPoolMessageConsumer;
import org.messaginghub.pooled.jms.JmsPoolSession;
public class MessageListenerContainer{

    private void initInternal() {
        try {
            JmsPoolConnection jmsPoolConnection = (JmsPoolConnection)mqOutputConnectionProducer.getPooledConnFactory().createConnection(userName, password);
            JmsPoolSession jmsPoolSession = (JmsPoolSession)jmsPoolConnection.createSession(sessionTransacted, sessionAcknowledgeMode);
            JmsPoolMessageConsumer consumer = (JmsPoolMessageConsumer)jmsPoolSession.createConsumer(destinationResolver.getDestination(), messageSelector, true);
            consumer.setMessageListener(messageListener);
            messageListener.setSession(jmsPoolSession);
            jmsPoolConnection.start();
            LOG.info("Connection created successfully.");
        } catch (Exception e) {
            LOG.error(e, e);
            throw new RuntimeException(e);
        }

    }
}

Мой вопрос: если умрет Connection, то как я могу повторно инициализировать Connection и MessageListener. Кто-нибудь может предоставить мне лучший способ для повторной инициализации Connection и MessageListener?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...