public class TcpNioServerConnectionFactory extends AbstractServerConnectionFactory
TcpNioConnection
s using
a ServerSocketChannel
. Must have a TcpListener
registered.DEFAULT_REPLY_TIMEOUT, lifecycleMonitor
logger
Constructor and Description |
---|
TcpNioServerConnectionFactory(int port)
Listens for incoming connections on the port.
|
Modifier and Type | Method and Description |
---|---|
protected void |
doAccept(Selector selector,
ServerSocketChannel server,
long now) |
String |
getComponentType()
Subclasses may implement this method to provide component type information.
|
protected Map<SocketChannel,TcpNioConnection> |
getConnections() |
int |
getPort()
Return the port this server is listening on.
|
protected ServerSocketChannel |
getServerChannel() |
SocketAddress |
getServerSocketAddress()
Return the
SocketAddress that the underlying ServerSocket
is bound to. |
protected boolean |
isUsingDirectBuffers() |
void |
run()
If no listener registers, exits.
|
void |
setTcpNioConnectionSupport(TcpNioConnectionSupport tcpNioSupport) |
void |
setUsingDirectBuffers(boolean usingDirectBuffers) |
void |
stop()
Stops the server.
|
afterShutdown, beforeShutdown, getBacklog, getConnection, getLocalAddress, initializeConnection, isListening, isLongLived, isShuttingDown, postProcessServerSocket, publishServerExceptionEvent, setBacklog, setListening, setLocalAddress, start
addConnection, checkActive, closeConnection, delayRead, getApplicationEventPublisher, getDelayedReads, getDeserializer, getHost, getListener, getMapper, getOpenConnectionIds, getPhase, getReadDelay, getSender, getSerializer, getSoLinger, getSoReceiveBufferSize, getSoSendBufferSize, getSoTimeout, getSoTrafficClass, getTaskExecutor, getTcpSocketSupport, harvestClosedConnections, isActive, isAutoStartup, isLookupHost, isRunning, isSingleUse, isSoKeepAlive, isSoTcpNoDelay, onInit, processNioSelections, registerListener, registerSender, setActive, setApplicationEventPublisher, setDeserializer, setInterceptorFactoryChain, setLookupHost, setMapper, setNioHarvestInterval, setReadDelay, setSerializer, setSingleUse, setSocketAttributes, setSoKeepAlive, setSoLinger, setSoReceiveBufferSize, setSoSendBufferSize, setSoTcpNoDelay, setSoTimeout, setSoTrafficClass, setTaskExecutor, setTcpSocketSupport, stop, toString, wrapConnection
afterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setTaskScheduler
public TcpNioServerConnectionFactory(int port)
port
- The port.public String getComponentType()
IntegrationObjectSupport
getComponentType
in interface NamedComponent
getComponentType
in class IntegrationObjectSupport
public int getPort()
TcpServerConnectionFactory
getPort
in interface TcpServerConnectionFactory
getPort
in class AbstractConnectionFactory
public SocketAddress getServerSocketAddress()
TcpServerConnectionFactory
SocketAddress
that the underlying ServerSocket
is bound to.getServerSocketAddress
in interface TcpServerConnectionFactory
getServerSocketAddress
in class AbstractServerConnectionFactory
public void run()
AbstractServerConnectionFactory.initializeConnection(TcpConnectionSupport, Socket)
and executes the
connection Runnable.run()
using the task executor.
I/O errors on the server socket/channel are logged and the factory is stopped.protected void doAccept(Selector selector, ServerSocketChannel server, long now) throws IOException
doAccept
in class AbstractConnectionFactory
selector
- The selector.server
- The server socket channel.now
- The current time.IOException
- Any IOException.public void stop()
AbstractConnectionFactory
stop
in interface Lifecycle
stop
in class AbstractConnectionFactory
public void setUsingDirectBuffers(boolean usingDirectBuffers)
public void setTcpNioConnectionSupport(TcpNioConnectionSupport tcpNioSupport)
protected ServerSocketChannel getServerChannel()
protected boolean isUsingDirectBuffers()
protected Map<SocketChannel,TcpNioConnection> getConnections()