org.mule.module.client.remoting
Class RemoteDispatcherComponent

java.lang.Object
  extended by org.mule.module.client.remoting.RemoteDispatcherComponent
All Implemented Interfaces:
Callable, EventListener, Initialisable

public class RemoteDispatcherComponent
extends java.lang.Object
implements Callable, Initialisable

RemoteDispatcherComponent is a MuleManager interal server component responsible for receiving remote requests and dispatching them locally. This allows developer to tunnel requests through http ssl to a Mule instance behind a firewall


Field Summary
protected  java.lang.String encoding
           
protected static Log logger
          logger used by this class
static java.lang.String MANAGER_COMPONENT_NAME
           
protected  MuleContext muleContext
           
protected  int synchronousEventTimeout
           
protected  WireFormat wireFormat
          Use Serialization by default
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Constructor Summary
RemoteDispatcherComponent()
           
 
Method Summary
protected  ServerHandshake doHandshake(MuleEventContext context)
           
 java.lang.String getEncoding()
           
static Service getSerivce(InboundEndpoint endpoint, WireFormat wireFormat, java.lang.String encoding, int eventTimeout, MuleContext muleContext)
           
 int getSynchronousEventTimeout()
           
 WireFormat getWireFormat()
           
protected  java.lang.Object handleException(MuleMessage result, java.lang.Throwable e)
          Wraps an exception into a MuleMessage with an Exception payload and returns the Xml representation of it
 void initialise()
          Method used to perform any initialisation work.
protected  java.lang.Object invokeAction(RemoteDispatcherNotification action, MuleEventContext context)
           
 java.lang.Object onCall(MuleEventContext context)
          Passes the event to the listener
protected  java.lang.Object receiveAction(RemoteDispatcherNotification action, MuleEventContext context)
           
protected  java.lang.Object sendAction(RemoteDispatcherNotification action, MuleEventContext context)
           
 void setEncoding(java.lang.String encoding)
           
 void setSynchronousEventTimeout(int synchronousEventTimeout)
           
 void setWireFormat(WireFormat wireFormat)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected static final Log logger
logger used by this class


MANAGER_COMPONENT_NAME

public static final java.lang.String MANAGER_COMPONENT_NAME
See Also:
Constant Field Values

wireFormat

protected WireFormat wireFormat
Use Serialization by default


encoding

protected java.lang.String encoding

synchronousEventTimeout

protected int synchronousEventTimeout

muleContext

protected MuleContext muleContext
Constructor Detail

RemoteDispatcherComponent

public RemoteDispatcherComponent()
Method Detail

initialise

public void initialise()
                throws InitialisationException
Description copied from interface: Initialisable
Method used to perform any initialisation work. If a fatal error occurs during initialisation an InitialisationException should be thrown, causing the Mule instance to shutdown. If the error is recoverable, say by retrying to connect, a RecoverableException should be thrown. There is no guarantee that by throwing a Recoverable exception that the Mule instance will not shut down.

Specified by:
initialise in interface Initialisable
Throws:
InitialisationException - if a fatal error occurs causing the Mule instance to shutdown
RecoverableException - if an error occurs that can be recovered from

onCall

public java.lang.Object onCall(MuleEventContext context)
                        throws java.lang.Exception
Description copied from interface: Callable
Passes the event to the listener

Specified by:
onCall in interface Callable
Parameters:
context - the context of the current event being process
Returns:
Object this object can be anything. When the LifecycleAdapter for the service receives this object it will first see if the Object is an MuleMessage if not and the Object is not null a new message will be created using the returned object as the payload. This new event will then get published via the configured outbound router if-
  1. One has been configured for the component.
  2. the setStopFurtherProcessing(true) wasn't called on the event context event.
Throws:
java.lang.Exception - if the event fails to process properly. If exceptions aren't handled by the implementation they will be handled by the exceptionListener associated with the service

doHandshake

protected ServerHandshake doHandshake(MuleEventContext context)
                               throws TransformerException
Throws:
TransformerException

invokeAction

protected java.lang.Object invokeAction(RemoteDispatcherNotification action,
                                        MuleEventContext context)
                                 throws MuleException
Throws:
MuleException

sendAction

protected java.lang.Object sendAction(RemoteDispatcherNotification action,
                                      MuleEventContext context)
                               throws MuleException
Throws:
MuleException

receiveAction

protected java.lang.Object receiveAction(RemoteDispatcherNotification action,
                                         MuleEventContext context)
                                  throws MuleException
Throws:
MuleException

getSerivce

public static Service getSerivce(InboundEndpoint endpoint,
                                 WireFormat wireFormat,
                                 java.lang.String encoding,
                                 int eventTimeout,
                                 MuleContext muleContext)
                          throws MuleException
Throws:
MuleException

handleException

protected java.lang.Object handleException(MuleMessage result,
                                           java.lang.Throwable e)
Wraps an exception into a MuleMessage with an Exception payload and returns the Xml representation of it

Parameters:
result - the result of the invocation or null if the exception occurred before or during the invocation
e - the Exception thrown
Returns:
an Xml String message result

getWireFormat

public WireFormat getWireFormat()

setWireFormat

public void setWireFormat(WireFormat wireFormat)

getEncoding

public java.lang.String getEncoding()

setEncoding

public void setEncoding(java.lang.String encoding)

getSynchronousEventTimeout

public int getSynchronousEventTimeout()

setSynchronousEventTimeout

public void setSynchronousEventTimeout(int synchronousEventTimeout)


Copyright © 2003-2010 MuleSoft, Inc.. All Rights Reserved.