Как обработать тайм-аут JMS-сессии, используя HornetQ? - PullRequest
1 голос
/ 21 марта 2012

может объяснить, как обрабатывать тайм-аут JMS-сессии. В моем приложении, использующем Hornetq, он работает нормально, после того, как когда-нибудь возникнет ошибка (тайм-аут JMS-сессии), пожалуйста, помогите мне.public HornetQProducer () {

    try {
        ic = getInitialContext();

        cf = (ConnectionFactory) ic.lookup("/ConnectionFactory");
        queue = new HornetQQueue("ExampleQueue");
        connection = cf.createConnection();
        logger.info("Connection object of HornetQ <<<>>>>>>>" + connection);
        session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        messageProducer = session.createProducer(queue);
        connection.start();
        logger.info("Message Producer HornetQ....." + messageProducer);
    } catch (NamingException e) {
        e.printStackTrace();
    } catch (JMSException e) {
        e.printStackTrace();

    }
}

Спасибо

1 Ответ

1 голос
/ 24 июля 2012

Попробуйте настроить фабрику соединений в файле конфигурации HornetQ следующим образом.

<connection-factory name="NettyConnectionFactory">
  <xa>false</xa>
  <connectors>
     <connector-ref connector-name="netty"/>
  </connectors>
  <entries>
     <entry name="/ConnectionFactory"/>
  </entries>
  <retry-interval>1000</retry-interval>
  <retry-interval-multiplier>1.0</retry-interval-multiplier>
  <reconnect-attempts>1</reconnect-attempts>
</connection-factory>

Для обработки тайм-аута JMS попробуйте поработать с JMSException.

...