org.springframework.integration.gateway
Class SimpleMessagingGateway

java.lang.Object
  extended by org.springframework.integration.gateway.MessagingGatewaySupport
      extended by org.springframework.integration.gateway.SimpleMessagingGateway
All Implemented Interfaces:
MessageBusAware, MessagingGateway
Direct Known Subclasses:
AbstractRemotingGateway, GatewayProxyFactoryBean, JmsGateway

public class SimpleMessagingGateway
extends MessagingGatewaySupport
implements MessagingGateway

A general purpose class that supports a variety of message exchanges. Useful for connecting application code to MessageChannels for sending, receiving, or request-reply operations. The sending methods accept any Object as the parameter value (i.e. it is not required to be a Message). A custom MessageCreator may be provided for creating Messages from the Objects. Likewise return values may be any Object and a custom implementation of the MessageMapper strategy may be provided for mapping a reply Message to an Object.

Author:
Mark Fisher

Field Summary
private  MessageCreator messageCreator
           
private  MessageMapper messageMapper
           
 
Constructor Summary
SimpleMessagingGateway()
           
SimpleMessagingGateway(MessageChannel requestChannel)
           
 
Method Summary
 java.lang.Object receive()
           
 void send(java.lang.Object object)
           
 java.lang.Object sendAndReceive(java.lang.Object object)
           
private  java.lang.Object sendAndReceive(java.lang.Object object, boolean shouldMapMessage)
           
 Message<?> sendAndReceiveMessage(java.lang.Object object)
           
 void setMessageCreator(MessageCreator<?,?> messageCreator)
           
 void setMessageMapper(MessageMapper<?,?> messageMapper)
           
 
Methods inherited from class org.springframework.integration.gateway.MessagingGatewaySupport
getRequestReplyTemplate, setMessageBus, setReplyChannel, setReplyTimeout, setRequestChannel, setRequestTimeout
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

messageCreator

private MessageCreator messageCreator

messageMapper

private MessageMapper messageMapper
Constructor Detail

SimpleMessagingGateway

public SimpleMessagingGateway(MessageChannel requestChannel)

SimpleMessagingGateway

public SimpleMessagingGateway()
Method Detail

setMessageCreator

public void setMessageCreator(MessageCreator<?,?> messageCreator)

setMessageMapper

public void setMessageMapper(MessageMapper<?,?> messageMapper)

send

public void send(java.lang.Object object)
Specified by:
send in interface MessagingGateway

receive

public java.lang.Object receive()
Specified by:
receive in interface MessagingGateway

sendAndReceive

public java.lang.Object sendAndReceive(java.lang.Object object)
Specified by:
sendAndReceive in interface MessagingGateway

sendAndReceiveMessage

public Message<?> sendAndReceiveMessage(java.lang.Object object)
Specified by:
sendAndReceiveMessage in interface MessagingGateway

sendAndReceive

private java.lang.Object sendAndReceive(java.lang.Object object,
                                        boolean shouldMapMessage)