クラス TestSocketUtils
java.lang.ObjectSE
org.springframework.test.util.TestSocketUtils
統合テストシナリオで使用するために
localhost
で使用可能な TCP ポートを見つけるためのシンプルなユーティリティ。 これは、Spring Framework 5.3.16 以降非推奨となり、Spring Framework 6.0 で削除された org.springframework.util.SocketUtils
の限定された形式です。
TestSocketUtils
は、使用可能なランダムポートで外部サーバーを起動する統合テストで使用できます。ただし、これらのユーティリティは、指定されたポートのその後の可用性について保証しないため、信頼できません。TestSocketUtils
を使用してサーバーの使用可能なローカルポートを見つける代わりに、オペレーティングシステムによって選択または割り当てられたランダムな一時ポートで起動するサーバーの機能に依存することをお勧めします。そのサーバーと対話するには、サーバーが現在使用しているポートをサーバーに照会する必要があります。
- 導入:
- 5.3.24
- 作成者:
- Sam Brannen, Ben Hale, Arjen Poutsma, Gunnar Hillert, Gary Russell, Chris Bono
コンストラクターのサマリー
コンストラクターメソッドのサマリー
コンストラクターの詳細
TestSocketUtils
public TestSocketUtils()TestSocketUtils
は静的ユーティリティメソッドのみで構成されていますが、このコンストラクターは意図的にpublic
です。Rationale
このクラスの静的メソッドは、Spring 式言語(SpEL)と次の構文を使用して、XML 構成ファイル内から呼び出すことができます。
<bean id="myBean" ... p:port="#{T(org.springframework.test.util.TestSocketUtils).findAvailableTcpPort()}" />
このコンストラクターが
private
の場合、使用箇所ごとに完全修飾クラス名を SpEL のT()
関数に指定する必要があります。このコンストラクターがpublic
であるという事実により、次の例に示すように、SpEL を使用してボイラープレート構成を減らすことができます。<bean id="socketUtils" class="org.springframework.test.util.TestSocketUtils" /> <bean id="myBean" ... p:port="#{socketUtils.findAvailableTcpPort()}" />
メソッドの詳細
findAvailableTcpPort
public static int findAvailableTcpPort()[1024, 65535] の範囲からランダムに選択された使用可能な TCP ポートを見つけます。- 戻り値:
- 使用可能な TCP ポート番号
- 例外:
IllegalStateExceptionSE
- 使用可能なポートが見つからなかった場合