public class TcpNioServerConnectionFactory extends AbstractServerConnectionFactory
TcpNioConnection
s using a ServerSocketChannel
SE . Must have a TcpListener
registered.DEFAULT_REPLY_TIMEOUT, lifecycleMonitor
EXPRESSION_PARSER, logger
コンストラクターと説明 |
---|
TcpNioServerConnectionFactory(int port) ポートの受信接続を待機します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected void | doAccept(SelectorSE selectorForNewSocket, ServerSocketChannelSE server, long now) |
StringSE | getComponentType() サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。 |
protected MapSE<SocketChannelSE, TcpNioConnection> | getConnections() |
int | getPort() このサーバーがリッスンしているポートを返します。 |
protected ServerSocketChannelSE | getServerChannel() |
SocketAddressSE | getServerSocketAddress() 基になる ServerSocket がバインドされている SocketAddress SE を返します。 |
protected boolean | isUsingDirectBuffers() |
void | run() リスナーが登録されていない場合は、終了します。 |
void | setMultiAccept(boolean multiAccept) false に設定すると、セレクターキーを介した反復ごとに 1 つの接続のみが受け入れられます。 |
void | setTcpNioConnectionSupport(TcpNioConnectionSupport tcpNioSupport) |
void | setUsingDirectBuffers(boolean usingDirectBuffers) |
void | stop() サーバーの停止。 |
afterShutdown, beforeShutdown, getBacklog, getConnection, getLocalAddress, initializeConnection, isListening, isLongLived, isShuttingDown, postProcessServerSocket, publishServerExceptionEvent, publishServerListeningEvent, setBacklog, setListening, setLocalAddress, start
addConnection, checkActive, closeConnection, delayRead, getApplicationEventPublisher, getDelayedReads, getDeserializer, getHost, getLifecycleMonitor, getListener, getMapper, getOpenConnectionIds, getReadDelay, getSender, getSenders, getSerializer, getSoLinger, getSoReceiveBufferSize, getSoSendBufferSize, getSoTimeout, getSoTrafficClass, getSslHandshakeTimeout, getTaskExecutor, getTcpSocketSupport, harvestClosedConnections, isActive, isLookupHost, isRunning, isSingleUse, isSoKeepAlive, isSoTcpNoDelay, onInit, processNioSelections, registerListener, registerSender, setActive, setApplicationEventPublisher, setDeserializer, setHost, setInterceptorFactoryChain, setLeaveOpen, setLookupHost, setMapper, setNioHarvestInterval, setPort, setReadDelay, setSerializer, setSingleUse, setSocketAttributes, setSoKeepAlive, setSoLinger, setSoReceiveBufferSize, setSoSendBufferSize, setSoTcpNoDelay, setSoTimeout, setSoTrafficClass, setSslHandshakeTimeout, setTaskExecutor, setTcpSocketSupport, toString, unregisterSender, wrapConnection
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
public TcpNioServerConnectionFactory(int port)
port
- ポート。public void setMultiAccept(boolean multiAccept)
OP_ACCEPT
操作の準備ができると、到着しなくなるまでループで接続を受け入れ続けます。multiAccept
- 一度に 1 つずつ接続を受け入れる場合は false。public StringSE getComponentType()
IntegrationObjectSupport
NamedComponent
の getComponentType
IntegrationObjectSupport
の getComponentType
public int getPort()
TcpServerConnectionFactory
TcpServerConnectionFactory
の getPort
AbstractConnectionFactory
の getPort
@Nullable public SocketAddressSE getServerSocketAddress()
TcpServerConnectionFactory
ServerSocket
がバインドされている SocketAddress
SE を返します。TcpServerConnectionFactory
の getServerSocketAddress
AbstractServerConnectionFactory
の getServerSocketAddress
public void run()
AbstractServerConnectionFactory.initializeConnection(TcpConnectionSupport, Socket)
を呼び出し、タスクエグゼキュータを使用して接続 Runnable.run()
SE を実行します。サーバーソケット / チャネルの I/O エラーがログに記録され、ファクトリが停止します。protected void doAccept(SelectorSE selectorForNewSocket, ServerSocketChannelSE server, long now)
AbstractConnectionFactory
の doAccept
selectorForNewSocket
- セレクタ。server
- サーバーソケットチャネル。now
- 現在の時刻。public void stop()
AbstractConnectionFactory
Lifecycle
の stop
ManageableLifecycle
の stop
AbstractConnectionFactory
の stop
public void setUsingDirectBuffers(boolean usingDirectBuffers)
public void setTcpNioConnectionSupport(TcpNioConnectionSupport tcpNioSupport)
protected ServerSocketChannelSE getServerChannel()
protected boolean isUsingDirectBuffers()
protected MapSE<SocketChannelSE,TcpNioConnection> getConnections()