2017-11-11 21 views
1

私は、Activemq PooledConnectionFactoryのexpiryTimeoutフィールドのアプリケーションを理解していません。 javaドキュメントでは、「接続が負荷またはアイドル時間に関係なく期限切れになる」と述べています。これは、プールからの再接続を強制するフェイルオーバーや、負荷分散またはマスター・ポスト・リカバリの使用を再確立するのに便利です。私に例を与えてください、実際のシナリオではexpiryTimeoutフィールドエフェクトがあります。Activemq PooledConnectionFactoryにおける有効期限のタイムアウトの意味は何ですか?

答えて

1

有効期限切れタイムアウトオプションは、プールのレガシー機能の一部ですが、ほとんどのアプリケーションではそれほど有用ではありません。有効な方法は、有効期限を設定すると、貸出されて後で閉じられるConnectionは、Connectionの他のアクティブなユーザがいなければ完全に閉じられて削除されます。そうでなければ、アクティブなインスタンスがすべて閉じられるまで、基底のConnectionオブジェクトは閉じられます。

これは、プールで使用されていないConnectionインスタンスに適用され、ブローカ側でリソースを解放するためにある程度の時間が経過した後に閉じられるアイドルタイムアウトとは少し異なります。

最近では、PooledConnectionFactoryのフェールオーバーURIを使用して、クラスタクライアントのリバランスのためのブローカサポートを有効にする方がよいでしょう。これは、Connectionインスタンスを1回だけ終了する有効期限切れタイムアウトではなく、ブローカクラスタの負荷を動的に再分配します。現在それらを積極的に使用しているすべての人が、近くに電話をかけて解放しました。

関連する問題