Package org.apache.axis2.transport.base
Class AbstractTransportListener
java.lang.Object
org.apache.axis2.transport.base.AbstractTransportListener
- All Implemented Interfaces:
org.apache.axis2.kernel.TransportListener
- Direct Known Subclasses:
AbstractTransportListenerEx
public abstract class AbstractTransportListener
extends Object
implements org.apache.axis2.kernel.TransportListener
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.apache.axis2.context.ConfigurationContextthe axis2 configuration contextprotected TransportConfigurationTransport Configuration for the respective transportsprotected booleanis this transport non-blocking?protected org.apache.commons.logging.Logthe reference to the actual commons logger to be used for log messagesprotected MetricsCollectorMetrics collector for this transportprotected intstate of the listenerprotected booleanuse the thread pool available in the axis2 configuration contextprotected WorkerPoolthe thread pool to execute actual poll invocationsFields inherited from interface org.apache.axis2.kernel.TransportListener
HOST_ADDRESS, PARAM_PORT -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedA constructor that makes subclasses pick up the correct logger -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.axis2.context.MessageContextCreate a new axis MessageContext for an incoming message through this transportvoiddestroy()voiddisableTransportForService(org.apache.axis2.description.AxisService service) intReturns the number of active threads processing messagesdoubledoublelonglongorg.apache.axis2.context.ConfigurationContextorg.apache.axis2.addressing.EndpointReferencegetEPRForService(String serviceName, String ip) This is a deprecated method in Axis2 and this default implementation returns the first result from the getEPRsForService() methodprotected org.apache.axis2.addressing.EndpointReference[]getEPRsForService(String serviceName) org.apache.axis2.addressing.EndpointReference[]getEPRsForService(String serviceName, String ip) longlonglonglonglonglonglonglonglonglongintReturn the number of requests queued in the thread poolorg.apache.axis2.context.SessionContextgetSessionContext(org.apache.axis2.context.MessageContext messageContext) longlongorg.apache.axis2.description.TransportInDescriptionprotected voidhandleException(String msg, Exception e) voidhandleIncomingMessage(org.apache.axis2.context.MessageContext msgCtx, Map trpHeaders, String soapAction, String contentType) Process a new incoming message through the axis enginevoidinit(org.apache.axis2.context.ConfigurationContext cfgCtx, org.apache.axis2.description.TransportInDescription transportIn) Initialize the generic transport.protected voidlogException(String msg, Exception e) voidmaintenenceShutdown(long millis) Stop processing new messages, and wait the specified maximum time for in-flight requests to complete before a controlled shutdown for maintenencevoidpause()Pause the listener - Stop accepting/processing new messages, but continues processing existing messages until they complete.voidvoidresume()Resume the lister - Brings the lister into active mode back from a paused statevoidstart()protected abstract voidstartListeningForService(org.apache.axis2.description.AxisService service) voidstop()protected abstract voidstopListeningForService(org.apache.axis2.description.AxisService service)
-
Field Details
-
log
protected org.apache.commons.logging.Log logthe reference to the actual commons logger to be used for log messages -
cfgCtx
protected org.apache.axis2.context.ConfigurationContext cfgCtxthe axis2 configuration context -
state
protected int statestate of the listener -
isNonBlocking
protected boolean isNonBlockingis this transport non-blocking? -
workerPool
the thread pool to execute actual poll invocations -
useAxis2ThreadPool
protected boolean useAxis2ThreadPooluse the thread pool available in the axis2 configuration context -
metrics
Metrics collector for this transport -
config
Transport Configuration for the respective transports
-
-
Constructor Details
-
AbstractTransportListener
protected AbstractTransportListener()A constructor that makes subclasses pick up the correct logger
-
-
Method Details
-
init
public void init(org.apache.axis2.context.ConfigurationContext cfgCtx, org.apache.axis2.description.TransportInDescription transportIn) throws org.apache.axis2.AxisFault Initialize the generic transport. Sets up the transport and the thread pool to be used for message processing. Also creates an AxisObserver that gets notified of service life cycle events for the transport to act on- Specified by:
initin interfaceorg.apache.axis2.kernel.TransportListener- Parameters:
cfgCtx- the axis configuration contexttransportIn- the transport-in description- Throws:
org.apache.axis2.AxisFault- on error
-
destroy
public void destroy()- Specified by:
destroyin interfaceorg.apache.axis2.kernel.TransportListener
-
stop
public void stop() throws org.apache.axis2.AxisFault- Specified by:
stopin interfaceorg.apache.axis2.kernel.TransportListener- Throws:
org.apache.axis2.AxisFault
-
start
public void start() throws org.apache.axis2.AxisFault- Specified by:
startin interfaceorg.apache.axis2.kernel.TransportListener- Throws:
org.apache.axis2.AxisFault
-
getEPRsForService
public org.apache.axis2.addressing.EndpointReference[] getEPRsForService(String serviceName, String ip) throws org.apache.axis2.AxisFault - Specified by:
getEPRsForServicein interfaceorg.apache.axis2.kernel.TransportListener- Throws:
org.apache.axis2.AxisFault
-
getEPRsForService
-
disableTransportForService
public void disableTransportForService(org.apache.axis2.description.AxisService service) -
startListeningForService
protected abstract void startListeningForService(org.apache.axis2.description.AxisService service) throws org.apache.axis2.AxisFault - Throws:
org.apache.axis2.AxisFault
-
stopListeningForService
protected abstract void stopListeningForService(org.apache.axis2.description.AxisService service) -
getEPRForService
public org.apache.axis2.addressing.EndpointReference getEPRForService(String serviceName, String ip) throws org.apache.axis2.AxisFault This is a deprecated method in Axis2 and this default implementation returns the first result from the getEPRsForService() method- Throws:
org.apache.axis2.AxisFault
-
getSessionContext
public org.apache.axis2.context.SessionContext getSessionContext(org.apache.axis2.context.MessageContext messageContext) - Specified by:
getSessionContextin interfaceorg.apache.axis2.kernel.TransportListener
-
createMessageContext
public org.apache.axis2.context.MessageContext createMessageContext()Create a new axis MessageContext for an incoming message through this transport- Returns:
- the newly created message context
-
handleIncomingMessage
public void handleIncomingMessage(org.apache.axis2.context.MessageContext msgCtx, Map trpHeaders, String soapAction, String contentType) throws org.apache.axis2.AxisFault Process a new incoming message through the axis engine- Parameters:
msgCtx- the axis MessageContexttrpHeaders- the map containing transport level message headerssoapAction- the optional soap action or nullcontentType- the optional content-type for the message- Throws:
org.apache.axis2.AxisFault
-
handleException
- Throws:
org.apache.axis2.AxisFault
-
logException
-
getTransportInDescription
public org.apache.axis2.description.TransportInDescription getTransportInDescription() -
getTransportName
-
getConfigurationContext
public org.apache.axis2.context.ConfigurationContext getConfigurationContext() -
getMetricsCollector
-
pause
public void pause() throws org.apache.axis2.AxisFaultPause the listener - Stop accepting/processing new messages, but continues processing existing messages until they complete. This helps bring an instance into a maintenence mode- Throws:
org.apache.axis2.AxisFault- on error
-
resume
public void resume() throws org.apache.axis2.AxisFaultResume the lister - Brings the lister into active mode back from a paused state- Throws:
org.apache.axis2.AxisFault- on error
-
maintenenceShutdown
public void maintenenceShutdown(long millis) throws org.apache.axis2.AxisFault Stop processing new messages, and wait the specified maximum time for in-flight requests to complete before a controlled shutdown for maintenence- Parameters:
millis- a number of milliseconds to wait until pending requests are allowed to complete- Throws:
org.apache.axis2.AxisFault- on error
-
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
-
resetStatistics
public void resetStatistics() -
getLastResetTime
public long getLastResetTime() -
getMetricsWindow
public long getMetricsWindow()
-