クラス TestSocketUtils

java.lang.ObjectSE
org.springframework.test.util.TestSocketUtils

public class TestSocketUtils extends ObjectSE
統合テストシナリオで使用するために localhost で使用可能な TCP ポートを見つけるためのシンプルなユーティリティ。

これは org.springframework.util.SocketUtils の限定された形式であり、Spring Framework 5.3.16 以降非推奨となり、Spring Framework 6.0 で削除されました。

TestSocketUtils は、使用可能なランダムポートで外部サーバーを起動する統合テストで使用できます。ただし、これらのユーティリティは、指定されたポートのその後の可用性について保証しないため、信頼できません。TestSocketUtils を使用してサーバーの使用可能なローカルポートを見つける代わりに、オペレーティングシステムによって選択または割り当てられたランダムな一時ポートで起動するサーバーの機能に依存することをお勧めします。そのサーバーと対話するには、サーバーが現在使用しているポートをサーバーに照会する必要があります。

導入:
5.3.24
作成者:
Sam Brannen, Ben Hale, Arjen Poutsma, Gunnar Hillert, Gary Russell, Chris Bono
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
    TestSocketUtils は静的ユーティリティメソッドのみで構成されていますが、このコンストラクターは意図的に public です。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    static int
    [1024, 65535] の範囲からランダムに選択された使用可能な TCP ポートを見つけます。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • コンストラクターの詳細

    • 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 - 使用可能なポートが見つからなかった場合