org.mule.transport.jms
Class JmsMessageDispatcher

java.lang.Object
  extended by org.mule.transport.AbstractConnectable
      extended by org.mule.transport.AbstractMessageDispatcher
          extended by org.mule.transport.jms.JmsMessageDispatcher
All Implemented Interfaces:
ExceptionListener, Disposable, Initialisable, Startable, Stoppable, Connectable, MessageDispatcher, MessageDispatching

public class JmsMessageDispatcher
extends AbstractMessageDispatcher

JmsMessageDispatcher is responsible for dispatching messages to JMS destinations. All JMS semantics apply and settings such as replyTo and QoS properties are read from the event properties or defaults are used (according to the JMS specification)


Nested Class Summary
protected  class JmsMessageDispatcher.ReplyToListener
           
 
Field Summary
 
Fields inherited from class org.mule.transport.AbstractConnectable
connected, disposed, endpoint, logger, retryTemplate, started, startOnConnect
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Startable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Stoppable
PHASE_NAME
 
Fields inherited from interface org.mule.api.transport.MessageDispatching
RECEIVE_NO_WAIT, RECEIVE_WAIT_INDEFINITELY
 
Constructor Summary
JmsMessageDispatcher(OutboundEndpoint endpoint)
           
 
Method Summary
protected  MessageConsumer createReplyToConsumer(Message currentMessage, MuleEvent event, Session session, Destination replyTo, boolean topic)
           
protected  void doConnect()
           
protected  void doDisconnect()
           
protected  void doDispatch(MuleEvent event)
           
protected  void doDispose()
           
protected  MuleMessage doSend(MuleEvent event)
           
protected  Destination getReplyToDestination(Message message, Session session, MuleEvent event, boolean remoteSync, boolean topic)
           
protected  void handleMultiTx(Session session)
           
protected  boolean isDisableTemporaryDestinations()
           
protected  boolean isHandleReplyTo(Message msg, MuleEvent event)
          Some Jms implementations do not support ReplyTo or require some further fiddling of the message
protected  void preTransformMessage(MuleMessage message)
          This method is called before the current message is transformed.
protected  void processMessage(Message msg, MuleEvent event)
          This method is called once the JMS message is created.
 
Methods inherited from class org.mule.transport.AbstractMessageDispatcher
dispatch, dispose, getEndpoint, getWorkManager, initialise, isTransactionRollback, returnResponse, send
 
Methods inherited from class org.mule.transport.AbstractConnectable
activate, connect, disconnect, disposeAndLogException, doInitialise, doStart, doStop, exceptionThrown, getConnectEventId, getConnectionDescription, getConnector, handleException, isConnected, isDoThreading, isStarted, passivate, setEndpoint, start, stop, toString, validate, validateConnection
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.mule.api.transport.MessageDispatcher
activate, getConnector, passivate, validate
 
Methods inherited from interface org.mule.api.transport.Connectable
connect, disconnect, getConnectionDescription, isConnected, validateConnection
 
Methods inherited from interface org.mule.api.lifecycle.Startable
start
 
Methods inherited from interface org.mule.api.lifecycle.Stoppable
stop
 

Constructor Detail

JmsMessageDispatcher

public JmsMessageDispatcher(OutboundEndpoint endpoint)
Method Detail

doDispatch

protected void doDispatch(MuleEvent event)
                   throws Exception
Specified by:
doDispatch in class AbstractMessageDispatcher
Throws:
Exception

doConnect

protected void doConnect()
                  throws Exception
Overrides:
doConnect in class AbstractConnectable
Throws:
Exception

doDisconnect

protected void doDisconnect()
                     throws Exception
Overrides:
doDisconnect in class AbstractConnectable
Throws:
Exception

isDisableTemporaryDestinations

protected boolean isDisableTemporaryDestinations()

preTransformMessage

protected void preTransformMessage(MuleMessage message)
                            throws Exception
This method is called before the current message is transformed. It can be used to do any message body or header processing before the transformer is called.

Parameters:
message - the current MuleMessage Being processed
Throws:
Exception

handleMultiTx

protected void handleMultiTx(Session session)
                      throws Exception
Throws:
Exception

doSend

protected MuleMessage doSend(MuleEvent event)
                      throws Exception
Specified by:
doSend in class AbstractMessageDispatcher
Throws:
Exception

doDispose

protected void doDispose()
Overrides:
doDispose in class AbstractConnectable

processMessage

protected void processMessage(Message msg,
                              MuleEvent event)
                       throws JMSException
This method is called once the JMS message is created. It allows custom JmsMessageAdapters to alter the message if necessary

Parameters:
msg - The JMS message that will be sent
event - the current event
Throws:
JMSException - if the JmsMessage cannot be written to, this should not happen because the JMSMessage passed in will always be newly created

isHandleReplyTo

protected boolean isHandleReplyTo(Message msg,
                                  MuleEvent event)
                           throws JMSException
Some Jms implementations do not support ReplyTo or require some further fiddling of the message

Parameters:
msg - The JMS message that will be sent
event - the current event
Returns:
true if this request should honour any JMSReplyTo settings on the message
Throws:
JMSException - if the JmsMessage cannot be written to, this should not happen because the JMSMessage passed in will always be newly created

createReplyToConsumer

protected MessageConsumer createReplyToConsumer(Message currentMessage,
                                                MuleEvent event,
                                                Session session,
                                                Destination replyTo,
                                                boolean topic)
                                         throws JMSException
Throws:
JMSException

getReplyToDestination

protected Destination getReplyToDestination(Message message,
                                            Session session,
                                            MuleEvent event,
                                            boolean remoteSync,
                                            boolean topic)
                                     throws JMSException,
                                            EndpointException,
                                            InitialisationException
Throws:
JMSException
EndpointException
InitialisationException


Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.