public class CachingClientConnectionFactory extends AbstractClientConnectionFactory implements DisposableBean
singleUse=true を持つように再構成されます。ユーザーはその後、基になるプロパティを false に設定しないでください。設定すると、キャッシュが不足します。DEFAULT_REPLY_TIMEOUT, lifecycleMonitorEXPRESSION_PARSER, logger| コンストラクターと説明 |
|---|
CachingClientConnectionFactory(AbstractClientConnectionFactory target, int poolSize) 指定されたプールサイズで、指定されたファクトリに委譲するキャッシュ接続ファクトリを構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | destroy() |
void | enableManualListenerRegistration() このファクトリによって作成された接続に自動的に(デフォルト)または TcpListener を追加するかどうかを設定します。 |
boolean | equals(ObjectSE o) |
void | forceClose(TcpConnection connection) 接続を強制的に閉じ、共有接続の場合はフィールドを null にします。 |
int | getActiveCount() |
int | getAllocatedCount() |
StringSE | getComponentType() サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。 |
Deserializer<?> | getDeserializer() |
StringSE | getHost() |
int | getIdleCount() |
TcpMessageMapper | getMapper() |
int | getPoolSize() |
int | getPort() |
TcpSender | getSender() |
Serializer<?> | getSerializer() |
int | getSoLinger() |
int | getSoReceiveBufferSize() |
int | getSoSendBufferSize() |
int | getSoTimeout() |
int | getSoTrafficClass() |
int | hashCode() |
boolean | isLookupHost() |
boolean | isRunning() |
boolean | isSingleUse() |
boolean | isSoKeepAlive() |
boolean | isSoTcpNoDelay() |
TcpConnectionSupport | obtainConnection() |
void | registerListener(TcpListener listener) データの受信に使用されるデリゲート TCP クライアント接続ファクトリには、メッセージを送信するリスナーが必要です。 |
void | registerSender(TcpSender sender)TcpSender を登録します。サーバーソケットの場合、接続情報を提供するために使用されるため、送信者は受信メッセージに返信するために使用できます。 |
void | setComponentName(StringSE componentName) このコンポーネントの名前を設定します。 |
void | setConnectionWaitTimeout(int connectionWaitTimeout) |
void | setDeserializer(Deserializer<?> deserializer) |
void | setInterceptorFactoryChain(TcpConnectionInterceptorFactoryChain interceptorFactoryChain) |
void | setLookupHost(boolean lookupHost)true の場合、リモート IP アドレスで DNS 逆ルックアップが行われます。 |
void | setMapper(TcpMessageMapper mapper) |
void | setPoolSize(int poolSize) |
void | setSerializer(Serializer<?> serializer) |
void | setSingleUse(boolean singleUse) このファクトリでは無視されます。接続は常にプールにキャッシュされます。 |
void | setSoKeepAlive(boolean soKeepAlive) |
void | setSoLinger(int soLinger) |
void | setSoReceiveBufferSize(int soReceiveBufferSize) |
void | setSoSendBufferSize(int soSendBufferSize) |
void | setSoTcpNoDelay(boolean soTcpNoDelay) |
void | setSoTimeout(int soTimeout) |
void | setSoTrafficClass(int soTrafficClass) |
void | setTaskExecutor(ExecutorSE taskExecutor) |
void | start() |
void | stop() サーバーの停止。 |
buildNewConnection, getConnection, getConnectionTest, getConnectTimeout, getTheConnection, initializeConnection, obtainNewConnection, obtainSharedConnection, setConnectionTest, setConnectTimeout, setTheConnectionaddConnection, checkActive, closeConnection, 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, wrapConnectionafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskSchedulercloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEpublic CachingClientConnectionFactory(AbstractClientConnectionFactory target, int poolSize)
target - ターゲットファクトリ。poolSize - 許可する接続の数。public void setConnectionWaitTimeout(int connectionWaitTimeout)
connectionWaitTimeout - 新しいタイムアウト。SimplePool.setWaitTimeout(long)public void setPoolSize(int poolSize)
poolSize - 新しいプールサイズ。SimplePool.setPoolSize(int)public int getPoolSize()
SimplePool.getPoolSize()public int getIdleCount()
SimplePool.getIdleCount()public int getActiveCount()
SimplePool.getActiveCount()public int getAllocatedCount()
SimplePool.getAllocatedCount()public TcpConnectionSupport obtainConnection()
AbstractClientConnectionFactory の obtainConnection public boolean isRunning()
Lifecycle の isRunning ManageableLifecycle の isRunning AbstractConnectionFactory の isRunning public int hashCode()
ObjectSE の hashCodeSE public void setComponentName(StringSE componentName)
IntegrationObjectSupportIntegrationObjectSupport の setComponentName componentName - コンポーネント名。public StringSE getComponentType()
IntegrationObjectSupportNamedComponent の getComponentType IntegrationObjectSupport の getComponentType public int getSoTimeout()
AbstractConnectionFactory の getSoTimeout public void setSoTimeout(int soTimeout)
AbstractConnectionFactory の setSoTimeout soTimeout - 設定する soTimeoutpublic int getSoReceiveBufferSize()
AbstractConnectionFactory の getSoReceiveBufferSize public void setSoReceiveBufferSize(int soReceiveBufferSize)
AbstractConnectionFactory の setSoReceiveBufferSize soReceiveBufferSize - 設定する soReceiveBufferSizepublic int getSoSendBufferSize()
AbstractConnectionFactory の getSoSendBufferSize public void setSoSendBufferSize(int soSendBufferSize)
AbstractConnectionFactory の setSoSendBufferSize soSendBufferSize - 設定する soSendBufferSizepublic boolean isSoTcpNoDelay()
AbstractConnectionFactory の isSoTcpNoDelay public void setSoTcpNoDelay(boolean soTcpNoDelay)
AbstractConnectionFactory の setSoTcpNoDelay soTcpNoDelay - 設定する soTcpNoDelaypublic int getSoLinger()
AbstractConnectionFactory の getSoLinger public void setSoLinger(int soLinger)
AbstractConnectionFactory の setSoLinger soLinger - 設定する soLingerpublic boolean isSoKeepAlive()
AbstractConnectionFactory の isSoKeepAlive public void setSoKeepAlive(boolean soKeepAlive)
AbstractConnectionFactory の setSoKeepAlive soKeepAlive - 設定する soKeepAlivepublic int getSoTrafficClass()
AbstractConnectionFactory の getSoTrafficClass public void setSoTrafficClass(int soTrafficClass)
AbstractConnectionFactory の setSoTrafficClass soTrafficClass - 設定する soTrafficClasspublic StringSE getHost()
AbstractConnectionFactory の getHost public int getPort()
AbstractConnectionFactory の getPort public TcpSender getSender()
AbstractConnectionFactory の getSender public Serializer<?> getSerializer()
AbstractConnectionFactory の getSerializer public Deserializer<?> getDeserializer()
AbstractConnectionFactory の getDeserializer public TcpMessageMapper getMapper()
AbstractConnectionFactory の getMapper public void registerListener(TcpListener listener)
初期化中に、ファクトリにリスナーがないことが検出されると、そのリスニングロジック(アクティブスレッド)は終了します。
onMessage() メソッドを呼び出すことができるように、ファクトリに登録されたリスナーは、それが作成する各接続に提供されます。
このコードは、このリスナーがリスニングロジックを実行する必要があることをファクトリに通知するという最初の要件を満たします。
実際の接続を CachedConnections でラップすると、接続にはリスナーとしてラッパーが渡されるため、onMessage() のヘッダーを拡張できます。その後、ラッパーは変更されたメッセージを使用して、ここで提供される実際のリスナーを呼び出します。
AbstractConnectionFactory の registerListener listener - TcpListener。public void registerSender(TcpSender sender)
AbstractConnectionFactoryAbstractConnectionFactory の registerSender sender - 送り主 public void setTaskExecutor(ExecutorSE taskExecutor)
AbstractConnectionFactory の setTaskExecutor taskExecutor - 設定する taskExecutorpublic void setDeserializer(Deserializer<?> deserializer)
AbstractConnectionFactory の setDeserializer deserializer - 設定するデシリアライザー public void setSerializer(Serializer<?> serializer)
AbstractConnectionFactory の setSerializer serializer - 設定するシリアライザー public void setMapper(TcpMessageMapper mapper)
AbstractConnectionFactory の setMapper mapper - 設定するマッパー。デフォルトは TcpMessageMapper です public boolean isSingleUse()
AbstractConnectionFactory の isSingleUse public void setSingleUse(boolean singleUse)
AbstractConnectionFactory の setSingleUse singleUse - singleUse。public void setInterceptorFactoryChain(TcpConnectionInterceptorFactoryChain interceptorFactoryChain)
AbstractConnectionFactory の setInterceptorFactoryChain public void setLookupHost(boolean lookupHost)
AbstractConnectionFactoryAbstractConnectionFactory の setLookupHost lookupHost - 設定する lookupHostpublic boolean isLookupHost()
AbstractConnectionFactory の isLookupHost public void forceClose(TcpConnection connection)
AbstractClientConnectionFactoryAbstractClientConnectionFactory の forceClose connection - 接続。public void enableManualListenerRegistration()
AbstractClientConnectionFactoryTcpListener を追加するかどうかを設定します。デフォルトでは、ファクトリはリスナーを自動的に構成します。手動登録が行われると、リスナーが登録されるまで受信メッセージが遅延します。AbstractClientConnectionFactory の enableManualListenerRegistration public void start()
Lifecycle の start ManageableLifecycle の start AbstractConnectionFactory の start public void stop()
AbstractConnectionFactoryLifecycle の stop ManageableLifecycle の stop AbstractConnectionFactory の stop public void destroy()
throws ExceptionSEDisposableBean の destroy ExceptionSE