/** * If JMS connection was created successfully, returns an array with one instance of JmsXAResourceRecoveryHelper. Otherwise, * returns an empty array. * * @return Array with one instance of JmsXAResourceRecoveryHelper or an empty array */ @Override public XAResource[] getXAResources() { if (!connectionManager.isConnected()) { try { connectionManager.connect(); } catch (XAException ignored) { return new XAResource[0]; } } return new XAResource[] { this }; }
/** * If JMS connection was created successfully, returns an array with one instance of JmsXAResourceRecoveryHelper. Otherwise, * returns an empty array. * * @return Array with one instance of JmsXAResourceRecoveryHelper or an empty array */ @Override public XAResource[] getXAResources() { if (!connectionManager.isConnected()) { try { connectionManager.connect(); } catch (XAException ignored) { return new XAResource[0]; } } return new XAResource[] { this }; }
/** * If JMS connection was created successfully, returns an array with one instance of JmsXAResourceRecoveryHelper. Otherwise, * returns an empty array. * * @return Array with one instance of JmsXAResourceRecoveryHelper or an empty array */ @Override public XAResource[] getXAResources() { if (!connectionManager.isConnected()) { try { connectionManager.connect(); } catch (XAException ignored) { return new XAResource[0]; } } return new XAResource[] { this }; }
/** * Close current JMS connection. */ public void disconnect() { if (!isConnected()) { return; } try { connection.close(); } catch (JMSException e) { jtaLogger.i18NLogger.warn_failed_to_close_jms_connection(connection.toString(), e); } finally { connection = null; session = null; } }
/** * Close current JMS connection. */ public void disconnect() { if (!isConnected()) { return; } try { connection.close(); } catch (JMSException e) { jtaLogger.i18NLogger.warn_failed_to_close_jms_connection(connection.toString(), e); } finally { connection = null; session = null; } }
/** * Close current JMS connection. */ public void disconnect() { if (!isConnected()) { return; } try { connection.close(); } catch (JMSException e) { jtaLogger.i18NLogger.warn_failed_to_close_jms_connection(connection.toString(), e); } finally { connection = null; session = null; } }
/** * Create JMS connection. * * @throws XAException if JMS connection cannot be created. */ public void connect() throws XAException { if (isConnected()) { return; } try { connection = createXAConnection(); session = connection.createXASession(); } catch (JMSException e) { if (connection != null) { try { connection.close(); } catch (JMSException ignore) { } } jtaLogger.i18NLogger.warn_failed_to_create_jms_connection(e); throw new XAException(XAException.XAER_RMFAIL); } }
/** * Create JMS connection. * * @throws XAException if JMS connection cannot be created. */ public void connect() throws XAException { if (isConnected()) { return; } try { connection = createXAConnection(); session = connection.createXASession(); } catch (JMSException e) { if (connection != null) { try { connection.close(); } catch (JMSException ignore) { } } jtaLogger.i18NLogger.warn_failed_to_create_jms_connection(e); throw new XAException(XAException.XAER_RMFAIL); } }
/** * Create JMS connection. * * @throws XAException if JMS connection cannot be created. */ public void connect() throws XAException { if (isConnected()) { return; } try { connection = createXAConnection(); session = connection.createXASession(); } catch (JMSException e) { if (connection != null) { try { connection.close(); } catch (JMSException ignore) { } } jtaLogger.i18NLogger.warn_failed_to_create_jms_connection(e); throw new XAException(XAException.XAER_RMFAIL); } }
/** * Invoke {@link XAResourceConsumer} accept method before making sure that JMS connection is available. Current * connection is used if one is available. If connection is not available, new connection is created before the * accept call and closed after it. * * @param consumer {@link XAResourceConsumer} to be executed. * @throws XAException if JMS connection cannot be created. */ public void connectAndAccept(XAResourceConsumer consumer) throws XAException { if (isConnected()) { consumer.accept(session.getXAResource()); return; } connect(); try { consumer.accept(session.getXAResource()); } finally { disconnect(); } }
/** * Invoke {@link XAResourceConsumer} accept method before making sure that JMS connection is available. Current * connection is used if one is available. If connection is not available, new connection is created before the * accept call and closed after it. * * @param consumer {@link XAResourceConsumer} to be executed. * @throws XAException if JMS connection cannot be created. */ public void connectAndAccept(XAResourceConsumer consumer) throws XAException { if (isConnected()) { consumer.accept(session.getXAResource()); return; } connect(); try { consumer.accept(session.getXAResource()); } finally { disconnect(); } }
/** * Invoke {@link XAResourceFunction} apply method before making sure that JMS connection is available. Current * connection is used if one is available. If connection is not available, new connection is created before the * apply call and closed after it. * * @param function {@link XAResourceFunction} to be executed. * @param <T> Return type of the {@link XAResourceFunction}. * @return The result of {@link XAResourceFunction}. * @throws XAException if JMS connection cannot be created. */ public <T> T connectAndApply(XAResourceFunction<T> function) throws XAException { if (isConnected()) { return function.apply(session.getXAResource()); } connect(); try { return function.apply(session.getXAResource()); } finally { disconnect(); } }
/** * Invoke {@link XAResourceConsumer} accept method before making sure that JMS connection is available. Current * connection is used if one is available. If connection is not available, new connection is created before the * accept call and closed after it. * * @param consumer {@link XAResourceConsumer} to be executed. * @throws XAException if JMS connection cannot be created. */ public void connectAndAccept(XAResourceConsumer consumer) throws XAException { if (isConnected()) { consumer.accept(session.getXAResource()); return; } connect(); try { consumer.accept(session.getXAResource()); } finally { disconnect(); } }
/** * Invoke {@link XAResourceFunction} apply method before making sure that JMS connection is available. Current * connection is used if one is available. If connection is not available, new connection is created before the * apply call and closed after it. * * @param function {@link XAResourceFunction} to be executed. * @param <T> Return type of the {@link XAResourceFunction}. * @return The result of {@link XAResourceFunction}. * @throws XAException if JMS connection cannot be created. */ public <T> T connectAndApply(XAResourceFunction<T> function) throws XAException { if (isConnected()) { return function.apply(session.getXAResource()); } connect(); try { return function.apply(session.getXAResource()); } finally { disconnect(); } }
/** * Invoke {@link XAResourceFunction} apply method before making sure that JMS connection is available. Current * connection is used if one is available. If connection is not available, new connection is created before the * apply call and closed after it. * * @param function {@link XAResourceFunction} to be executed. * @param <T> Return type of the {@link XAResourceFunction}. * @return The result of {@link XAResourceFunction}. * @throws XAException if JMS connection cannot be created. */ public <T> T connectAndApply(XAResourceFunction<T> function) throws XAException { if (isConnected()) { return function.apply(session.getXAResource()); } connect(); try { return function.apply(session.getXAResource()); } finally { disconnect(); } }