Example usage for org.springframework.jms.listener.adapter ReplyFailureException ReplyFailureException

List of usage examples for org.springframework.jms.listener.adapter ReplyFailureException ReplyFailureException

Introduction

In this page you can find the example usage for org.springframework.jms.listener.adapter ReplyFailureException ReplyFailureException.

Prototype

public ReplyFailureException(String msg, Throwable cause) 

Source Link

Usage

From source file:org.springframework.jms.listener.adapter.AbstractAdaptableMessageListener.java

/**
 * Handle the given result object returned from the listener method,
 * sending a response message back.// ww  w.  ja v a2  s .c o m
 * @param result the result object to handle (never {@code null})
 * @param request the original request message
 * @param session the JMS Session to operate on (may be {@code null})
 * @throws ReplyFailureException if the response message could not be sent
 * @see #buildMessage
 * @see #postProcessResponse
 * @see #getResponseDestination
 * @see #sendResponse
 */
protected void handleResult(Object result, Message request, @Nullable Session session) {
    if (session != null) {
        if (logger.isDebugEnabled()) {
            logger.debug(
                    "Listener method returned result [" + result + "] - generating response message for it");
        }
        try {
            Message response = buildMessage(session, result);
            postProcessResponse(request, response);
            Destination destination = getResponseDestination(request, response, session, result);
            sendResponse(session, destination, response);
        } catch (Exception ex) {
            throw new ReplyFailureException("Failed to send reply with payload [" + result + "]", ex);
        }
    }

    else {
        // No JMS Session available
        if (logger.isWarnEnabled()) {
            logger.warn("Listener method returned result [" + result
                    + "]: not generating response message for it because of no JMS Session given");
        }
    }
}