Package org.apache.axis2.kernel
Interface RequestResponseTransport
public interface RequestResponseTransport
This interface represents a control object for a Request/Response transport.
The normal flow of Axis2 is rooted at the transport -- this does not
allow for an acknowledgement to be transmitted before processing has
completed, nor does it allow for processing to be paused and resumed
on a separate thread without having a response be sent back. This interface
enables both of those scenarios by allowing the transport to expose
controls to the rest of the engine via a callback.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classUsed to give the current status of the RequestResponseTransport object. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgeMessage(MessageContext msgContext) Notify the transport that a message should be acknowledged at this time.voidPause execution and wait for a response message to be ready.This gives the current status of an RequestResponseTransport object.booleanThis will indicate whether or not the response has already been writtenvoidsetResponseWritten(boolean responseWritten) This is used to set the response written flag on the RequestResponseTransport instancevoidsignalFaultReady(AxisFault fault) This will tell the transport to end a current wait by raising the given fault.voidSignal that a response has be created and is ready for transmission.
-
Field Details
-
TRANSPORT_CONTROL
- See Also:
-
HOLD_RESPONSE
If this property is set to true in a message transport will call the awaitResponse method of the RequestResponseTransport instead of returning. The value should be a Boolean object.- See Also:
-
-
Method Details
-
acknowledgeMessage
Notify the transport that a message should be acknowledged at this time.- Parameters:
msgContext-- Throws:
AxisFault
-
awaitResponse
Pause execution and wait for a response message to be ready. This will typically be called by the transport after a message has been paused and will cause the transport to block until a response message is ready to be returned. This is required to enable RM for in-out MEPs over a request/response transport; without it the message would be paused and the transport would simply ack the request.- Throws:
InterruptedExceptionAxisFault
-
signalResponseReady
void signalResponseReady()Signal that a response has be created and is ready for transmission. This should release anyone who is blocked on a awaitResponse(). -
signalFaultReady
This will tell the transport to end a current wait by raising the given fault.- Parameters:
fault- The fault to be raised.
-
getStatus
This gives the current status of an RequestResponseTransport object.- Returns:
-
isResponseWritten
boolean isResponseWritten()This will indicate whether or not the response has already been written -
setResponseWritten
void setResponseWritten(boolean responseWritten) This is used to set the response written flag on the RequestResponseTransport instance
-