MID Server 構成パラメーターの設定と優先度

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む4読むのに数分
  • MID Server の設定は複数のテーブルに存在し、MID Server は設定された順序でそれらの設定に優先順位を付けます。MIDConfigParameter は、正しい型スタイル ビルダーで定義する必要があります。

    MID Server 設定の優先度

    MID Server の設定は、設定パラメーター テーブルとプロパティ テーブルの両方に配置できます。MID Server は、次の順序で設定に優先順位を付けます。
    1. MID 構成パラメーター
    2. MID プロパティ (特定の MID)
    3. MID プロパティ (グローバル)

    MIDConfigParameter の設定と API

    MID Server は、文字列だけでなく、MIDConfigParameter のタイプベースのパラメーターをサポートしています。列挙型、期間、整数、長型、文字列、およびブール型のパラメーターを作成するための API が存在します。

    例:
    * public static final MIDConfigParameter<Duration> REFRESH_RATE = new DurationParam.Builder(
     
      "MID Server refresh rate.", "refresh_rate", ChronoUnit.SECONDS)
     
      .withReadOnly(false)
     
      .withHidden(false)
     
      .withListed(true)
     
      .withMinValue(Duration.ofSeconds(15))
     
      .withMaxValue(Duration.ofDays(1))
     
      .withDefaultValue(Duration.ofSeconds(65))
     
      .build(); 

    MIDConfigParameter の新しいインスタンスは、型スタイル ビルダーを使用して定義する必要があります。この API は com.snc.midserver.config.api.IConfig にあります。従来の API では、この型スタイルの MIDConfigParameter インスタンスが指定されている場合、例外がスローされます。同様に、この API は、レガシースタイルの MIDConfigParameter インスタンスが指定されている場合は例外をスローします。

    例:
    public static final MIDConfigParameter<Duration> REFRESH_RATE = new DurationParam.Builder(​
          "MID Server refresh rate.", "refresh_rate", ChronoUnit.SECONDS)​
          .withReadOnly(false)​
          .withHidden(false)​
          .withListed(true)​
          .withMinValue(Duration.ofSeconds(15))​
          .withMaxValue(Duration.ofDays(1))​
          .withDefaultValue(Duration.ofSeconds(65))​
          .build();​
    ​
    // will throw IllegalArgumentException​
    
    Config config  = Config.get();​
    String value = config.getProperty(MIDConfigParameter.REFRESH_RATE);  ​
    ​
    // ok, since REFRESH_RATE is a new style param​
    IConfig newConfigApi = Config.get();​
        Optional<Duration> optionalValue = newConfigApi.get(MIDConfigParameter.REFRESH_RATE); 

    値の検証

    MID Server の起動時に config.xml からロードされた設定パラメーター値を検証します。パラメーター値が無効な場合は、次の手順を実行します。
    1. config.xml ファイルのパラメーターをコメント アウトします
    2. メモリへのパラメータのロードをスキップします
    3. エージェント ログにエラーを記録します。
    4. MIDIssueLogger レコードをキューに入れて、インスタンス接続が使用可能になったらインスタンスに送り返します

    インスタンス接続が利用可能な場合は、キューに入れられた MIDIssueLogger レコードをインスタンスに送信します。

    無効なレコードの防止

    レコードが無効になる可能性があるため、MID プロパティテーブルに重複レコードを作成しないでください。重複するプロパティは同じ名前を持ち、同じ MID Serverに割り当てられています。

    同様に、グローバル構成パラメーターはサポートされていないため、作成しないでください。グローバル設定パラメーターは、MID Server が割り当てられていない設定パラメーターです。設定をすべての MID Server に適用する必要がある場合は、グローバル MID プロパティを使用します。