クラス TcpNioConnection
java.lang.ObjectSE
org.springframework.integration.ip.tcp.connection.TcpConnectionSupport
org.springframework.integration.ip.tcp.connection.TcpNioConnection
- 実装されているすべてのインターフェース:
RunnableSE,TcpConnection
- 既知の直属サブクラス
TcpNioSSLConnection
SocketChannelSE を使用および基礎とする TcpConnection。- 導入:
- 2.0
- 作成者:
- Gary Russell, John Anderson, Artem Bilan, David Herschler Shvo, Christian Tzolov
ネストされたクラスの要約
ネストされたクラス修飾子と型クラス説明protected classSocketChannel をラップする OutputStream。書き込み時にタイムアウトを実装します。フィールドのサマリー
クラス org.springframework.integration.ip.tcp.connection.TcpConnectionSupport から継承されたフィールド
loggerコンストラクターの概要
コンストラクターコンストラクター説明TcpNioConnection(SocketChannelSE socketChannel, boolean server, boolean lookupHost, @Nullable ApplicationEventPublisher applicationEventPublisher, @Nullable StringSE connectionFactoryName) SocketChannel の TcpNetConnection を作成します。メソッドのサマリー
修飾子と型メソッド説明protected ByteBufferSEallocate(int length) usingDirectBuffers フィールドに応じて、通常バッファーまたは直接バッファーを使用して、リクエストされた長さの ByteBuffer を割り当てます。voidclose()この接続を閉じます。protected TcpNioConnection.ChannelOutputStreamlonglongデシリアライザーを使用して、接続の入力ストリームからメッセージペイロードを取得します。intgetPort()@Nullable SSLSessionSEprotected InputStreamSEたとえば、入力ストリームをラップするために、サブクラスでこれをオーバーライドできます。booleanisOpen()protected booleanvoid読み込むデータがあるときに、ファクトリによって呼び出されます。voidrun()リスナーが存在しない場合、このメソッドは終了します。voidメッセージを変換して送信します。protected voidsendToPipe(ByteBufferSE rawBufferToSend) voidsetLastRead(long lastRead) voidsetPipeTimeout(long pipeTimeout) voidsetTaskExecutor(ExecutorSE taskExecutor) voidsetUsingDirectBuffers(boolean usingDirectBuffers) true の場合、接続は可能な限りダイレクトバッファーの使用を試みます。voidソケットの入力ストリームをストリームの終わりに設定します。voidソケットの出力ストリームを無効にします。クラス org.springframework.integration.ip.tcp.connection.TcpConnectionSupport から継承されたメソッド
closeConnection, enableManualListenerRegistration, getConnectionFactoryName, getConnectionId, getDeserializer, getHostAddress, getHostName, getListener, getMapper, getSender, getSenders, getSerializer, getSocketInfo, incrementAndGetConnectionSequence, isNoReadErrorOnClose, isServer, publishConnectionCloseEvent, publishConnectionExceptionEvent, publishConnectionOpenEvent, publishEvent, registerListener, registerSender, registerSenders, registerTestListener, sendExceptionToListener, setDeserializer, setMapper, setNeedsTest, setNoReadErrorOnClose, setSerializer, setWrapped, setWrapper, toString
コンストラクターの詳細
TcpNioConnection
public TcpNioConnection(SocketChannelSE socketChannel, boolean server, boolean lookupHost, @Nullable ApplicationEventPublisher applicationEventPublisher, @Nullable StringSE connectionFactoryName) SocketChannel の TcpNetConnection を作成します。- パラメーター:
socketChannel- socketChannel。server- true の場合、この接続は受信リクエストの結果として作成されました。lookupHost- 逆ルックアップを実行する場合は true。applicationEventPublisher- イベント発行者。connectionFactoryName- この接続を作成する接続ファクトリの名前。
メソッドの詳細
setPipeTimeout
public void setPipeTimeout(long pipeTimeout) close
public void close()クラスからコピーされた説明:TcpConnectionSupportこの接続を閉じます。- 次で指定:
- インターフェース
TcpConnectionのclose - オーバーライド:
- クラス
TcpConnectionSupportのclose
isOpen
public boolean isOpen()- 戻り値:
- 接続が開いている場合は true。
send
getPayload
getPort
public int getPort()- 戻り値:
- 港
getDeserializerStateKey
- 戻り値:
- この接続の状態を維持する
Deserializerの状態を参照するために使用できるキー。現在、これは接続に関連付けられている InputStream ですが、オブジェクトは不透明として扱われ、キーとしてのみ使用される必要があります。
getSslSession
- 戻り値:
- SSL が使用されている場合、この接続に関連付けられている
SSLSessionSE。そうでない場合は null
inputStream
たとえば、入力ストリームをラップするために、サブクラスでこれをオーバーライドできます。- 戻り値:
- 入力ストリーム。
- 導入:
- 5.0
allocate
usingDirectBuffers フィールドに応じて、通常バッファーまたは直接バッファーを使用して、リクエストされた長さの ByteBuffer を割り当てます。- パラメーター:
length- バッファー長。- 戻り値:
- バッファ。
run
public void run()リスナーがない場合、このメソッドは終了します。リスナーがある場合、このメソッドは、入力ストリームにデータがあるたびに convertAndSend を呼び出してデータをメッセージに組み立てます。メッセージが完了し、データがなくなるとメソッドは終了し、スレッドが他のソケットで作業できるようになります。sendToPipe
readPacket
public void readPacket()読み込むデータがあるときに、ファクトリによって呼び出されます。setTaskExecutor
- パラメーター:
taskExecutor- 設定する taskExecutor
setUsingDirectBuffers
public void setUsingDirectBuffers(boolean usingDirectBuffers) true の場合、接続は可能な限りダイレクトバッファーの使用を試みます。- パラメーター:
usingDirectBuffers- usingDirectBuffers を設定します。
isUsingDirectBuffers
protected boolean isUsingDirectBuffers()getChannelOutputStream
getLastRead
public long getLastRead()- 戻り値:
- 最後の読み取りの時間。
setLastRead
public void setLastRead(long lastRead) - パラメーター:
lastRead- 最後の読み取りの時間。
getLastSend
public long getLastSend()- 戻り値:
- 最後の送信の時刻
shutdownInput
ソケットの入力ストリームをストリームの終わりに設定します。- 例外:
IOExceptionSE- IO 例外。- 導入:
- 5.2
- 関連事項:
shutdownOutput
ソケットの出力ストリームを無効にします。- 例外:
IOExceptionSE- IO 例外- 導入:
- 5.2
- 関連事項: