org.apache.cxf.transport.jms
Class JMSConduit
java.lang.Object
org.apache.cxf.transport.AbstractObservable
org.apache.cxf.transport.AbstractConduit
org.apache.cxf.transport.jms.JMSConduit
- All Implemented Interfaces:
- javax.jms.MessageListener, Conduit, Observable
public class JMSConduit
- extends AbstractConduit
- implements javax.jms.MessageListener
JMSConduit is instantiated by the JMSTransportFactory which is selected by a client if the transport
protocol starts with jms://. JMSConduit converts CXF Messages to JMS Messages and sends the request by
using a JMS destination. If the Exchange is not oneway it then recevies the response and converts it to
a CXF Message. This is then provided in the Exchange and also sent to the incomingObserver.
JMSConduit
public JMSConduit(EndpointInfo endpointInfo,
EndpointReferenceType target,
JMSConfiguration jmsConfig,
Bus b)
prepare
public void prepare(Message message)
throws IOException
- Prepare the message to be sent. The message will be sent after the caller has written the payload to
the OutputStream of the message and called the stream's close method. In the JMS case the
JMSOutputStream will then call back the sendExchange method of this class. Prepare the message for sending. This will typically involve setting
an OutputStream on the message, but it may do nothing at all.
- Specified by:
prepare
in interface Conduit
- Parameters:
message
- the message to be sent.
- Throws:
IOException
sendExchange
public void sendExchange(Exchange exchange,
Object request)
- Send the JMS message and if the MEP is not oneway receive the response.
- Parameters:
exchange
- the Exchange containing the outgoing messagerequest
- the payload of the outgoing JMS message
onMessage
public void onMessage(javax.jms.Message jmsMessage)
- When a message is received on the reply destination the correlation map is searched for the
correlationId. If it is found the message is converted to a CXF message and the thread sending the
request is notified
- Specified by:
onMessage
in interface javax.jms.MessageListener
doReplyMessage
public void doReplyMessage(Exchange exchange,
javax.jms.Message jmsMessage)
- Process the reply message
shutdownListeners
public void shutdownListeners()
close
public void close()
- Description copied from class:
AbstractConduit
- Close the conduit.
- Specified by:
close
in interface Conduit
- Overrides:
close
in class AbstractConduit
getLogger
protected Logger getLogger()
- Specified by:
getLogger
in class AbstractObservable
- Returns:
- the logger to use
getJmsConfig
public JMSConfiguration getJmsConfig()
setJmsConfig
public void setJmsConfig(JMSConfiguration jmsConfig)
isSetReplyTo
protected static boolean isSetReplyTo(Message message)
finalize
protected void finalize()
throws Throwable
- Overrides:
finalize
in class Object
- Throws:
Throwable
Apache CXF