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 ofAbstractTransportListener
with 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 E
createEndpoint()
protected abstract void
doInit()
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.void
init(ConfigurationContext cfgCtx, TransportInDescription transportIn)
Initialize the generic transport.void
start()
protected abstract void
startEndpoint(E endpoint)
protected void
startListeningForService(AxisService service)
void
stop()
protected abstract void
stopEndpoint(E endpoint)
protected void
stopListeningForService(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:AbstractTransportListener
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:
init
in interfaceTransportListener
- Overrides:
init
in classAbstractTransportListener
- Parameters:
cfgCtx
- the axis configuration contexttransportIn
- the transport-in description- Throws:
AxisFault
- on error
-
doInit
protected abstract void doInit() throws AxisFault
Initialize the transport. This method will be called after the initialization work inAbstractTransportListener
and before the first endpoint is created, i.e. before the first call tocreateEndpoint()
.- Throws:
AxisFault
-
start
public void start() throws AxisFault
- Specified by:
start
in interfaceTransportListener
- Overrides:
start
in classAbstractTransportListener
- Throws:
AxisFault
-
stop
public void stop() throws AxisFault
- Specified by:
stop
in interfaceTransportListener
- Overrides:
stop
in classAbstractTransportListener
- Throws:
AxisFault
-
getEPRsForService
public EndpointReference[] getEPRsForService(String serviceName, String ip) throws AxisFault
Description copied from interface:TransportListener
Get 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:
getEPRsForService
in interfaceTransportListener
- Overrides:
getEPRsForService
in 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:
startListeningForService
in classAbstractTransportListener
- Throws:
AxisFault
-
stopListeningForService
protected final void stopListeningForService(AxisService service)
- Specified by:
stopListeningForService
in classAbstractTransportListener
-
stopEndpoint
protected abstract void stopEndpoint(E endpoint)
-
-