Package org.apache.axis2.transport.base
Class AbstractTransportListenerEx<E extends ProtocolEndpoint>
- java.lang.Object
-
- org.apache.axis2.transport.base.AbstractTransportListener
-
- org.apache.axis2.transport.base.AbstractTransportListenerEx<E>
-
- Type Parameters:
E- the type of protocol endpoint for this transport
- All Implemented Interfaces:
TransportListener
- Direct Known Subclasses:
AbstractDatagramTransportListener,AbstractPollingTransportListener,JMSListener,TCPTransportListener
public abstract class AbstractTransportListenerEx<E extends ProtocolEndpoint> extends AbstractTransportListener
Partial implementation ofAbstractTransportListenerwith a higher level of abstraction. It maintains the mapping between services and protocol specific endpoints.Note: the intention is to eventually merge the code in this class into
AbstractTransportListener
-
-
Field Summary
-
Fields inherited from class org.apache.axis2.transport.base.AbstractTransportListener
cfgCtx, config, isNonBlocking, log, metrics, state, useAxis2ThreadPool, workerPool
-
Fields inherited from interface org.apache.axis2.kernel.TransportListener
HOST_ADDRESS, PARAM_PORT
-
-
Constructor Summary
Constructors Constructor Description AbstractTransportListenerEx()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract EcreateEndpoint()protected abstract voiddoInit()Initialize the transport.Collection<E>getEndpoints()Get the collection of all protocol endpoints managed by this transport, including the endpoint configured at the transport level.EndpointReference[]getEPRsForService(String serviceName, String ip)Get the endpoint references for a given service.voidinit(ConfigurationContext cfgCtx, TransportInDescription transportIn)Initialize the generic transport.voidstart()protected abstract voidstartEndpoint(E endpoint)protected voidstartListeningForService(AxisService service)voidstop()protected abstract voidstopEndpoint(E endpoint)protected voidstopListeningForService(AxisService service)-
Methods inherited from class org.apache.axis2.transport.base.AbstractTransportListener
createMessageContext, destroy, disableTransportForService, getActiveThreadCount, getAvgSizeReceived, getAvgSizeSent, getBytesReceived, getBytesSent, getConfigurationContext, getEPRForService, getEPRsForService, getFaultsReceiving, getFaultsSending, getLastResetTime, getMaxSizeReceived, getMaxSizeSent, getMessagesReceived, getMessagesSent, getMetricsCollector, getMetricsWindow, getMinSizeReceived, getMinSizeSent, getQueueSize, getResponseCodeTable, getSessionContext, getTimeoutsReceiving, getTimeoutsSending, getTransportInDescription, getTransportName, handleException, handleIncomingMessage, logException, maintenenceShutdown, pause, resetStatistics, resume
-
-
-
-
Method Detail
-
init
public final void init(ConfigurationContext cfgCtx, TransportInDescription transportIn) throws AxisFault
Description copied from class:AbstractTransportListenerInitialize 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 interfaceTransportListener- Overrides:
initin classAbstractTransportListener- Parameters:
cfgCtx- the axis configuration contexttransportIn- the transport-in description- Throws:
AxisFault- on error
-
doInit
protected abstract void doInit() throws AxisFaultInitialize the transport. This method will be called after the initialization work inAbstractTransportListenerand before the first endpoint is created, i.e. before the first call tocreateEndpoint().- Throws:
AxisFault
-
start
public void start() throws AxisFault- Specified by:
startin interfaceTransportListener- Overrides:
startin classAbstractTransportListener- Throws:
AxisFault
-
stop
public void stop() throws AxisFault- Specified by:
stopin interfaceTransportListener- Overrides:
stopin classAbstractTransportListener- Throws:
AxisFault
-
getEPRsForService
public EndpointReference[] getEPRsForService(String serviceName, String ip) throws AxisFault
Description copied from interface:TransportListenerGet the endpoint references for a given service. These are the addresses that a client can use to send requests to the given service through this transport.- Specified by:
getEPRsForServicein interfaceTransportListener- Overrides:
getEPRsForServicein classAbstractTransportListener- Parameters:
serviceName- TODO: this is actually not simply the service name!ip- The host name or IP address of the local host. The implementation should use this information instead ofInetAddress.getLocalHost(). The value of this parameter may benull, in which case the implementation should useUtils.getIpAddress( org.apache.axis2.engine.AxisConfiguration).- Returns:
- an array of endpoint references for the given service
- Throws:
AxisFault
-
getEndpoints
public final Collection<E> getEndpoints()
Get the collection of all protocol endpoints managed by this transport, including the endpoint configured at the transport level.- Returns:
- the collection of all protocol endpoints
-
createEndpoint
protected abstract E createEndpoint()
-
startListeningForService
protected final void startListeningForService(AxisService service) throws AxisFault
- Specified by:
startListeningForServicein classAbstractTransportListener- Throws:
AxisFault
-
stopListeningForService
protected final void stopListeningForService(AxisService service)
- Specified by:
stopListeningForServicein classAbstractTransportListener
-
stopEndpoint
protected abstract void stopEndpoint(E endpoint)
-
-