org.springframework.jms.support

## Class JmsUtils

- java.lang.Object
- - org.springframework.jms.support.JmsUtils

-     public abstract class JmsUtils
      extends Object

  Generic utility methods for working with JMS. Mainly for internal use within the framework, but also useful for custom JMS access code.
  Since:
    1.1
  Author:
    Juergen Hoeller

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JmsUtils()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static String` | `buildExceptionMessage(JMSException ex)` Build a descriptive exception message for the given JMSException, incorporating a linked exception's message if appropriate.
    `static void` | `closeConnection(Connection con)` Close the given JMS Connection and ignore any thrown exception.
    `static void` | `closeConnection(Connection con, boolean stop)` Close the given JMS Connection and ignore any thrown exception.
    `static void` | `closeMessageConsumer(MessageConsumer consumer)` Close the given JMS MessageConsumer and ignore any thrown exception.
    `static void` | `closeMessageProducer(MessageProducer producer)` Close the given JMS MessageProducer and ignore any thrown exception.
    `static void` | `closeQueueBrowser(QueueBrowser browser)` Close the given JMS QueueBrowser and ignore any thrown exception.
    `static void` | `closeQueueRequestor(QueueRequestor requestor)` Close the given JMS QueueRequestor and ignore any thrown exception.
    `static void` | `closeSession(Session session)` Close the given JMS Session and ignore any thrown exception.
    `static void` | `commitIfNecessary(Session session)` Commit the Session if not within a JTA transaction.
    `static JmsException` | `convertJmsAccessException(JMSException ex)` Convert the specified checked `JMSException` to a Spring runtime `JmsException` equivalent.
    `static void` | `rollbackIfNecessary(Session session)` Rollback the Session if not within a JTA transaction.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JmsUtils

          public JmsUtils()

  - ### Method Detail

    - #### closeConnection

          public static void closeConnection(Connection con)

      Close the given JMS Connection and ignore any thrown exception. This is useful for typical `finally` blocks in manual JMS code.
      Parameters:
        `con` - the JMS Connection to close (may be `null`)

    - #### closeConnection

          public static void closeConnection(Connection con,
                             boolean stop)

      Close the given JMS Connection and ignore any thrown exception. This is useful for typical `finally` blocks in manual JMS code.
      Parameters:
        `con` - the JMS Connection to close (may be `null`)
        `stop` - whether to call `stop()` before closing

    - #### closeSession

          public static void closeSession(Session session)

      Close the given JMS Session and ignore any thrown exception. This is useful for typical `finally` blocks in manual JMS code.
      Parameters:
        `session` - the JMS Session to close (may be `null`)

    - #### closeMessageProducer

          public static void closeMessageProducer(MessageProducer producer)

      Close the given JMS MessageProducer and ignore any thrown exception. This is useful for typical `finally` blocks in manual JMS code.
      Parameters:
        `producer` - the JMS MessageProducer to close (may be `null`)

    - #### closeMessageConsumer

          public static void closeMessageConsumer(MessageConsumer consumer)

      Close the given JMS MessageConsumer and ignore any thrown exception. This is useful for typical `finally` blocks in manual JMS code.
      Parameters:
        `consumer` - the JMS MessageConsumer to close (may be `null`)

    - #### closeQueueBrowser

          public static void closeQueueBrowser(QueueBrowser browser)

      Close the given JMS QueueBrowser and ignore any thrown exception. This is useful for typical `finally` blocks in manual JMS code.
      Parameters:
        `browser` - the JMS QueueBrowser to close (may be `null`)

    - #### closeQueueRequestor

          public static void closeQueueRequestor(QueueRequestor requestor)

      Close the given JMS QueueRequestor and ignore any thrown exception. This is useful for typical `finally` blocks in manual JMS code.
      Parameters:
        `requestor` - the JMS QueueRequestor to close (may be `null`)

    - #### commitIfNecessary

          public static void commitIfNecessary(Session session)
                                        throws JMSException

      Commit the Session if not within a JTA transaction.
      Parameters:
        `session` - the JMS Session to commit
      Throws:
        `JMSException` - if committing failed

    - #### rollbackIfNecessary

          public static void rollbackIfNecessary(Session session)
                                          throws JMSException

      Rollback the Session if not within a JTA transaction.
      Parameters:
        `session` - the JMS Session to rollback
      Throws:
        `JMSException` - if committing failed

    - #### buildExceptionMessage

          public static String buildExceptionMessage(JMSException ex)

      Build a descriptive exception message for the given JMSException, incorporating a linked exception's message if appropriate.
      Parameters:
        `ex` - the JMSException to build a message for
      Returns:
        the descriptive message String
      See Also:
        `JMSException.getLinkedException()`

    - #### convertJmsAccessException

          public static JmsException convertJmsAccessException(JMSException ex)

      Convert the specified checked `JMSException` to a Spring runtime `JmsException` equivalent.
      Parameters:
        `ex` - the original checked JMSException to convert
      Returns:
        the Spring runtime JmsException wrapping the given exception