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
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
JMSConduit
public JMSConduit(EndpointInfo endpointInfo,
org.apache.cxf.ws.addressing.EndpointReferenceType target,
JMSConfiguration jmsConfig)
prepare
public void prepare(Message message)
throws java.io.IOException
- Prepare the message for send out. The message will be sent after the caller has written the payload to
the OutputStream of the message and calls the close method of the stream. 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:
java.io.IOException
sendExchange
public void sendExchange(Exchange exchange,
java.lang.Object request)
- Send the JMS Request out and if not oneWay receive the response
- Parameters:
outMessage
- request
-
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
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 java.util.logging.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 java.lang.Throwable
- Overrides:
finalize
in class java.lang.Object
- Throws:
java.lang.Throwable
Apache CXF