Class AbstractTransportSender

    • Field Detail

      • log

        protected org.apache.commons.logging.Log log
        the reference to the actual commons logger to be used for log messages
    • Constructor Detail

      • AbstractTransportSender

        protected AbstractTransportSender()
        A constructor that makes subclasses pick up the correct logger
    • Method Detail

      • cleanup

        public void cleanup​(MessageContext msgContext)
                     throws AxisFault
        Description copied from interface: TransportSender
        Release resources associated with a given message context. This method is called after processing the response of an invocation of a synchronous out-in operation to allow the transport to release any resources allocated during that invocation.

        This method is mainly useful for connection oriented transports that return from Handler.invoke(MessageContext) before the entire response is available. A transport of this type will construct an InputStream object and set it as the MessageContext.TRANSPORT_IN property on the OperationContext). In order for this to work, the connection must remain open until the response has been processed. This method is then used to release the connection explicitly.

        Specified by:
        cleanup in interface TransportSender
        Throws:
        AxisFault
      • invoke

        public Handler.InvocationResponse invoke​(MessageContext msgContext)
                                          throws AxisFault
        Description copied from interface: Handler
        This method will be called on each registered handler when a message needs to be processed. If the message processing is paused by the handler, then this method will be called again for the handler that paused the processing once it is resumed.

        This method may be called concurrently from multiple threads.

        Handlers that want to determine the type of message that is to be processed (e.g. response vs request, inbound vs. outbound, etc.) can retrieve that information from the MessageContext via MessageContext.getFLOW() and MessageContext.getAxisOperation().getMessageExchangePattern() APIs.

        Specified by:
        invoke in interface Handler
        Parameters:
        msgContext - the MessageContext to process with this Handler.
        Returns:
        An InvocationResponse that indicates what the next step in the message processing should be.
        Throws:
        AxisFault - if the handler encounters an error
      • handleIncomingMessage

        public void handleIncomingMessage​(MessageContext msgCtx,
                                          Map trpHeaders,
                                          String soapAction,
                                          String contentType)
        Process a new incoming message (Response) through the axis engine
        Parameters:
        msgCtx - the axis MessageContext
        trpHeaders - the map containing transport level message headers
        soapAction - the optional soap action or null
        contentType - the optional content-type for the message
      • createResponseMessageContext

        public MessageContext createResponseMessageContext​(MessageContext outMsgCtx)
        Create a new axis MessageContext for an incoming response message through this transport, for the given outgoing message
        Parameters:
        outMsgCtx - the outgoing message
        Returns:
        the newly created message context
      • waitForSynchronousResponse

        protected boolean waitForSynchronousResponse​(MessageContext msgCtx)
        Should the transport sender wait for a synchronous response to be received?
        Parameters:
        msgCtx - the outgoing message context
        Returns:
        true if a sync response is expected
      • getTransportName

        public String getTransportName()
      • maintenenceShutdown

        public void maintenenceShutdown​(long millis)
                                 throws AxisFault
        Throws:
        AxisFault
      • getActiveThreadCount

        public int getActiveThreadCount()
        Returns the number of active threads processing messages
        Returns:
        number of active threads processing messages
      • getQueueSize

        public int getQueueSize()
        Return the number of requests queued in the thread pool
        Returns:
        queue size
      • getMessagesReceived

        public long getMessagesReceived()
      • getFaultsReceiving

        public long getFaultsReceiving()
      • getBytesReceived

        public long getBytesReceived()
      • getMessagesSent

        public long getMessagesSent()
      • getFaultsSending

        public long getFaultsSending()
      • getBytesSent

        public long getBytesSent()
      • getTimeoutsReceiving

        public long getTimeoutsReceiving()
      • getTimeoutsSending

        public long getTimeoutsSending()
      • getMinSizeReceived

        public long getMinSizeReceived()
      • getMaxSizeReceived

        public long getMaxSizeReceived()
      • getAvgSizeReceived

        public double getAvgSizeReceived()
      • getMinSizeSent

        public long getMinSizeSent()
      • getMaxSizeSent

        public long getMaxSizeSent()
      • getAvgSizeSent

        public double getAvgSizeSent()
      • getResponseCodeTable

        public Map getResponseCodeTable()
      • resetStatistics

        public void resetStatistics()
      • getLastResetTime

        public long getLastResetTime()
      • getMetricsWindow

        public long getMetricsWindow()