クラス CachingClientConnectionFactory
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.ip.tcp.connection.AbstractConnectionFactory
org.springframework.integration.ip.tcp.connection.AbstractClientConnectionFactory
org.springframework.integration.ip.tcp.connection.CachingClientConnectionFactory
- 実装済みのインターフェース一覧:
Aware, BeanFactoryAware, BeanNameAware, DisposableBean, InitializingBean, ApplicationContextAware, ApplicationEventPublisherAware, Lifecycle, ComponentSourceAware, ExpressionCapable, ConnectionFactory, NamedComponent, ManageableLifecycle
public class CachingClientConnectionFactory
extends AbstractClientConnectionFactory
implements DisposableBean
基礎となるターゲットファクトリからの接続をキャッシュする接続ファクトリ。使用後に接続がキャッシュに戻されるように、基になるファクトリは
singleUse=true を持つように再構成されます。ユーザーはその後、基になるプロパティを false に設定しないでください。設定すると、キャッシュが不足します。- 導入:
- 2.2
- 作成者:
- Gary Russell, Christian Tzolov, Artem Bilan
ネストされたクラスの概要
クラス AbstractConnectionFactory から継承されたネストクラス / インターフェース
AbstractConnectionFactory.PendingIOフィールド概要
クラス AbstractConnectionFactory から継承されたフィールド
connections, connectionsMonitor, DEFAULT_REPLY_TIMEOUT, lifecycleMonitorクラス IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, loggerコンストラクター概要
コンストラクターコンストラクター説明CachingClientConnectionFactory(AbstractClientConnectionFactory target, int poolSize) 指定されたプールサイズで、指定されたファクトリに委譲するキャッシュ接続ファクトリを構築します。方法の概要
修飾子と型メソッド説明booleancloseConnection(StringSE connectionId) 指定された接続 ID の接続を閉じます。voiddestroy()voidこのファクトリによって作成された接続に自動的に(デフォルト)またはTcpListenerを追加するかどうかを設定します。booleanvoidforceClose(TcpConnection connection) 接続を強制的に閉じ、共有接続の場合はフィールドを null にします。intintDeserializer<?> @Nullable StringSEgetHost()intintintgetPort()@Nullable TcpSenderSerializer<?> intintintintintinthashCode()booleanbooleanbooleanbooleanbooleanvoidregisterListener(TcpListener listener) データの受信に使用されるデリゲート TCP クライアント接続ファクトリには、メッセージを送信するリスナーが必要です。voidregisterSender(TcpSender sender) TcpSender を登録します。サーバーソケットの場合、接続情報を提供するために使用されるため、送信者は受信メッセージに返信するために使用できます。voidsetComponentName(StringSE componentName) このコンポーネントの名前を設定します。voidsetConnectionWaitTimeout(int connectionWaitTimeout) voidsetDeserializer(Deserializer<?> deserializer) voidsetInterceptorFactoryChain(TcpConnectionInterceptorFactoryChain interceptorFactoryChain) voidsetLookupHost(boolean lookupHost) true の場合、リモート IP アドレスで DNS 逆ルックアップが行われます。voidsetMapper(TcpMessageMapper mapper) voidsetPoolSize(int poolSize) voidsetSerializer(Serializer<?> serializer) voidsetSingleUse(boolean singleUse) このファクトリでは無視されます。接続は常にプールにキャッシュされます。voidsetSoKeepAlive(boolean soKeepAlive) voidsetSoLinger(int soLinger) voidsetSoReceiveBufferSize(int soReceiveBufferSize) voidsetSoSendBufferSize(int soSendBufferSize) voidsetSoTcpNoDelay(boolean soTcpNoDelay) voidsetSoTimeout(int soTimeout) voidsetSoTrafficClass(int soTrafficClass) voidsetTaskExecutor(ExecutorSE taskExecutor) voidstart()voidstop()サーバーの停止。クラス AbstractClientConnectionFactory から継承されたメソッド
buildNewConnection, getConnection, getConnectionTest, getConnectTimeout, getTheConnection, initializeConnection, obtainNewConnection, obtainSharedConnection, setConnectionTest, setConnectTimeout, setTheConnectionクラス AbstractConnectionFactory から継承されたメソッド
addConnection, checkActive, delayRead, doAccept, getApplicationEventPublisher, getDelayedReads, getLifecycleMonitor, getListener, getOpenConnectionIds, getReadDelay, getSenders, getSslHandshakeTimeout, getTaskExecutor, getTcpSocketSupport, harvestClosedConnections, isActive, onInit, processNioSelections, setActive, setApplicationEventPublisher, setHost, setLeaveOpen, setNioHarvestInterval, setPort, setReadDelay, setSocketAttributes, setSslHandshakeTimeout, setTcpSocketSupport, toString, unregisterSender, wrapConnectionクラス IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler
コンストラクターの詳細
CachingClientConnectionFactory
指定されたプールサイズで、指定されたファクトリに委譲するキャッシュ接続ファクトリを構築します。- パラメーター:
target- ターゲットファクトリ。poolSize- 許可する接続の数。
方法の詳細
setConnectionWaitTimeout
public void setConnectionWaitTimeout(int connectionWaitTimeout) - パラメーター:
connectionWaitTimeout- 新しいタイムアウト。- 関連事項:
setPoolSize
public void setPoolSize(int poolSize) - パラメーター:
poolSize- 新しいプールサイズ。- 関連事項:
getPoolSize
public int getPoolSize()- 戻り値:
- プールサイズ。
- 関連事項:
getIdleCount
public int getIdleCount()- 戻り値:
- アイドルカウント。
- 関連事項:
getActiveCount
public int getActiveCount()- 戻り値:
- アクティブなカウント。
- 関連事項:
getAllocatedCount
public int getAllocatedCount()- 戻り値:
- 割り当てられたカウント。
- 関連事項:
obtainConnection
- オーバーライド:
- クラス
AbstractClientConnectionFactoryのobtainConnection
isRunning
public boolean isRunning()- 次で指定:
- インターフェース
Lifecycle内のisRunning - 次で指定:
- インターフェース
ManageableLifecycle内のisRunning - オーバーライド:
- クラス
AbstractConnectionFactoryのisRunning
hashCode
setComponentName
クラスからコピーされた説明:IntegrationObjectSupportこのコンポーネントの名前を設定します。- オーバーライド:
- クラス
IntegrationObjectSupportのsetComponentName - パラメーター:
componentName- コンポーネント名。
getComponentType
- 次で指定:
- インターフェース
NamedComponent内のgetComponentType - オーバーライド:
- クラス
AbstractConnectionFactoryのgetComponentType
equals
getSoTimeout
public int getSoTimeout()- オーバーライド:
- クラス
AbstractConnectionFactoryのgetSoTimeout - 戻り値:
- soTimeout
setSoTimeout
public void setSoTimeout(int soTimeout) - オーバーライド:
- クラス
AbstractConnectionFactoryのsetSoTimeout - パラメーター:
soTimeout- 設定する soTimeout(ミリ秒単位)
getSoReceiveBufferSize
public int getSoReceiveBufferSize()- オーバーライド:
- クラス
AbstractConnectionFactoryのgetSoReceiveBufferSize - 戻り値:
- soReceiveBufferSize
setSoReceiveBufferSize
public void setSoReceiveBufferSize(int soReceiveBufferSize) - オーバーライド:
- クラス
AbstractConnectionFactoryのsetSoReceiveBufferSize - パラメーター:
soReceiveBufferSize- 設定する soReceiveBufferSize
getSoSendBufferSize
public int getSoSendBufferSize()- オーバーライド:
- クラス
AbstractConnectionFactoryのgetSoSendBufferSize - 戻り値:
- soSendBufferSize
setSoSendBufferSize
public void setSoSendBufferSize(int soSendBufferSize) - オーバーライド:
- クラス
AbstractConnectionFactoryのsetSoSendBufferSize - パラメーター:
soSendBufferSize- 設定する soSendBufferSize
isSoTcpNoDelay
public boolean isSoTcpNoDelay()- オーバーライド:
- クラス
AbstractConnectionFactoryのisSoTcpNoDelay - 戻り値:
- soTcpNoDelay
setSoTcpNoDelay
public void setSoTcpNoDelay(boolean soTcpNoDelay) - オーバーライド:
- クラス
AbstractConnectionFactoryのsetSoTcpNoDelay - パラメーター:
soTcpNoDelay- 設定する soTcpNoDelay
getSoLinger
public int getSoLinger()- オーバーライド:
- クラス
AbstractConnectionFactoryのgetSoLinger - 戻り値:
- soLinger
setSoLinger
public void setSoLinger(int soLinger) - オーバーライド:
- クラス
AbstractConnectionFactoryのsetSoLinger - パラメーター:
soLinger- 設定する soLinger
isSoKeepAlive
public boolean isSoKeepAlive()- オーバーライド:
- クラス
AbstractConnectionFactoryのisSoKeepAlive - 戻り値:
- soKeepAlive
setSoKeepAlive
public void setSoKeepAlive(boolean soKeepAlive) - オーバーライド:
- クラス
AbstractConnectionFactoryのsetSoKeepAlive - パラメーター:
soKeepAlive- 設定する soKeepAlive
getSoTrafficClass
public int getSoTrafficClass()- オーバーライド:
- クラス
AbstractConnectionFactoryのgetSoTrafficClass - 戻り値:
- soTrafficClass
setSoTrafficClass
public void setSoTrafficClass(int soTrafficClass) - オーバーライド:
- クラス
AbstractConnectionFactoryのsetSoTrafficClass - パラメーター:
soTrafficClass- 設定する soTrafficClass
getHost
- オーバーライド:
- クラス
AbstractConnectionFactoryのgetHost - 戻り値:
- ザホスト
getPort
public int getPort()- オーバーライド:
- クラス
AbstractConnectionFactoryのgetPort - 戻り値:
- 港
getSender
- オーバーライド:
- クラス
AbstractConnectionFactoryのgetSender - 戻り値:
- 存在する場合、最初の送信者。
getSerializer
- オーバーライド:
- クラス
AbstractConnectionFactoryのgetSerializer - 戻り値:
- シリアライザー
getDeserializer
- オーバーライド:
- クラス
AbstractConnectionFactoryのgetDeserializer - 戻り値:
- デシリアライザー
getMapper
- オーバーライド:
- クラス
AbstractConnectionFactoryのgetMapper - 戻り値:
- マッパー
registerListener
データの受信に使用されるデリゲート TCP クライアント接続ファクトリには、メッセージを送信するリスナーが必要です。これは、送信ゲートウェイまたはコラボレーションチャネルアダプターのペアに使用されるクライアントファクトリに適用されます。初期化中に、ファクトリにリスナーがないことが検出されると、そのリスニングロジック(アクティブスレッド)は終了します。
ファクトリに登録されたリスナーは、作成される各接続に提供されるため、onMessage() メソッドを呼び出すことができます。
このコードは、このリスナーがリスニングロジックを実行する必要があることをファクトリに通知するという最初の要件を満たします。
実際の接続を CachedConnections でラップすると、接続にはリスナーとしてラッパーが渡されるため、onMessage() のヘッダーを拡張できます。その後、ラッパーは変更されたメッセージを使用して、ここで提供される実際のリスナーを呼び出します。
- オーバーライド:
- クラス
AbstractConnectionFactoryのregisterListener - パラメーター:
listener- TcpListener。
registerSender
クラスからコピーされた説明:AbstractConnectionFactoryTcpSender を登録します。サーバーソケットの場合、接続情報を提供するために使用されるため、送信者は受信メッセージに返信するために使用できます。- オーバーライド:
- クラス
AbstractConnectionFactoryのregisterSender - パラメーター:
sender- 送り主
setTaskExecutor
- オーバーライド:
- クラス
AbstractConnectionFactoryのsetTaskExecutor - パラメーター:
taskExecutor- 設定する taskExecutor
setDeserializer
- オーバーライド:
- クラス
AbstractConnectionFactoryのsetDeserializer - パラメーター:
deserializer- 設定するデシリアライザー
setSerializer
- オーバーライド:
- クラス
AbstractConnectionFactoryのsetSerializer - パラメーター:
serializer- 設定するシリアライザー
setMapper
- オーバーライド:
- クラス
AbstractConnectionFactoryのsetMapper - パラメーター:
mapper- 設定するマッパー。デフォルトはTcpMessageMapperです
isSingleUse
public boolean isSingleUse()- オーバーライド:
- クラス
AbstractConnectionFactoryのisSingleUse - 戻り値:
- singleUse
setSingleUse
public void setSingleUse(boolean singleUse) このファクトリでは無視されます。接続は常にプールにキャッシュされます。基礎となる接続ファクトリの singleUse プロパティは強制的に true に設定されます (これにより接続が返されます)。初期化後に基礎となるファクトリでこれを false に設定すると、キャッシュ不足が発生します。- オーバーライド:
- クラス
AbstractConnectionFactoryのsetSingleUse - パラメーター:
singleUse- singleUse。
setInterceptorFactoryChain
public void setInterceptorFactoryChain(TcpConnectionInterceptorFactoryChain interceptorFactoryChain) - オーバーライド:
- クラス
AbstractConnectionFactoryのsetInterceptorFactoryChain
setLookupHost
public void setLookupHost(boolean lookupHost) クラスからコピーされた説明:AbstractConnectionFactorytrue の場合、リモート IP アドレスで DNS 逆引き参照が行われます。デフォルト false: すべての環境 (例: Docker コンテナー) が信頼できる DNS 解決を実行するわけではありません。- オーバーライド:
- クラス
AbstractConnectionFactoryのsetLookupHost - パラメーター:
lookupHost- 設定する lookupHost
isLookupHost
public boolean isLookupHost()- オーバーライド:
- クラス
AbstractConnectionFactoryのisLookupHost - 戻り値:
- lookupHost
forceClose
クラスからコピーされた説明:AbstractClientConnectionFactory接続を強制的に閉じ、共有接続の場合はフィールドを null にします。- オーバーライド:
- クラス
AbstractClientConnectionFactoryのforceClose - パラメーター:
connection- 接続。
enableManualListenerRegistration
public void enableManualListenerRegistration()クラスからコピーされた説明:AbstractClientConnectionFactoryこのファクトリによって作成された接続に自動的に(デフォルト)またはTcpListenerを追加するかどうかを設定します。デフォルトでは、ファクトリはリスナーを自動的に構成します。手動登録が行われると、リスナーが登録されるまで受信メッセージが遅延します。- オーバーライド:
- クラス
AbstractClientConnectionFactoryのenableManualListenerRegistration
closeConnection
クラスからコピーされた説明:AbstractConnectionFactory指定された接続 ID の接続を閉じます。- オーバーライド:
- クラス
AbstractConnectionFactoryのcloseConnection - パラメーター:
connectionId- 接続 ID。- 戻り値:
- 接続が閉じられた場合は true。
start
public void start()- 次で指定:
- インターフェース
Lifecycle内のstart - 次で指定:
- インターフェース
ManageableLifecycle内のstart - オーバーライド:
- クラス
AbstractConnectionFactoryのstart
stop
public void stop()クラスからコピーされた説明:AbstractConnectionFactoryサーバーの停止。- 次で指定:
- インターフェース
Lifecycle内のstop - 次で指定:
- インターフェース
ManageableLifecycle内のstop - オーバーライド:
- クラス
AbstractConnectionFactoryのstop
destroy
public void destroy()- 次で指定:
- インターフェース
DisposableBean内のdestroy