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
`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