システム・プロパティー

システム・プロパティーを指定して、IBM® Toolbox for Java™ のさまざまな局面を構成することができます。

たとえば、システム・プロパティーを使って、Proxy サーバー、またはトレースのレベルを定義できます。 システム・プロパティーは、コードを再コンパイルしなくても、都合に合わせた実行時の構成を行うのに役立ちます。 システム・プロパティーは、実行時にシステム・プロパティーを変更する場合の環境変数のように作動し、変更は通常、次回アプリケーションを実行するまで反映されません。

システム・プロパティーの設定方法は、以下のとおりです。
  • java.lang.System.setProperties() メソッドを使用する

    java.lang.System.setProperties() メソッドを使用すると、方針に基づいてシステム・プロパティーを設定できます。

    例えば、 次のコードは com.ibm.as400.access.AS400.proxyServer プロパティーを、 hqoffice に設定します。

       Properties systemProperties = System.getProperties();
       systemProperties.put ("com.ibm.as400.access.AS400.proxyServer", "hqoffice");
       System.setProperties (systemProperties);
  • java コマンドの -D オプションを使用する

    多くの環境では、アプリケーションをコマンド行から実行しているときに、 java コマンドの -D オプションを使用して、 システム・プロパティーを設定することができます。

    例えば次のプログラムは、 com.ibm.as400.access.AS400.proxyServer プロパティーを hqoffice に設定した、 Inventory というアプリケーションを実行します。

       java -Dcom.ibm.as400.access.AS400.proxyServer=hqoffice Inventory
  • jt400.properties ファイルを使用する

    環境によっては、すべてのユーザーに独自のシステム・プロパティーを設定するように指示するのが不都合な場合もあります。 代替方法として、com.ibm.as400.access パッケージの一部であるかのように検索される jt400.properties というファイルで、IBM Toolbox for Java システム・プロパティーを指定できます。 つまり、クラスパスが示す com/ibm/as400/access ディレクトリーに jt400.properties ファイルを入れるということです。

    例えば、 次の行を jt400.properties ファイルに挿入することによって、 com.ibm.as400.access.AS400.proxyServer プロパティーを hqoffice に設定します。

       com.ibm.as400.access.AS400.proxyServer=hqoffice

    円記号 (¥) は、プロパティー・ファイルでエスケープ文字として機能します。 文字の円記号を指定するには、2 つの円記号 (¥¥) を使用します。

    jt400.properties ファイルのこのサンプルを、 ご使用の環境に合わせて変更してください。

  • Properties クラスを使用する

    ブラウザーによっては、セキュリティー設定を明示的に変更しないと、プロパティー・ファイルをロードしません。 しかし、ほとんどのブラウザーは .class ファイルにあるプロパティーを許可するので、 IBM Toolbox for Java システム・プロパティーも java.util.Properties を拡張した com.ibm.as400.access.Properties というクラスによって指定できます。

    例えば、 com.ibm.as400.access.AS400.proxyServer プロパティーを hqoffice に設定するには、 次の Java コードを使用します。

       package com.ibm.as400.access;
    
       public class Properties
       extends java.util.Properties
       {
          public Properties ()
          {
             put ("com.ibm.as400.access.AS400.proxyServer", "hqoffice");
          }
       }

    Properties.java ソース・ファイルのこのサンプルを、 ご使用の環境に合わせて変更およびコンパイルしてください。

IBM Toolbox for Java システム・プロパティーが上記で解説された複数のメカニズムを使用して設定される場合、優先順位は (優先度の高いものから順に) 次のとおりです。
  1. java.lang.System.setProperties() を使用した、 方針に基づいて設定されるシステム・プロパティー
  2. java コマンドの -D オプションを使用して設定されるシステム・プロパティー
  3. Properties クラスを使用して設定されるシステム・プロパティー
  4. jt400.properties ファイルを使用して設定されるシステム・プロパティー

Proxy サーバー・プロパティー

Proxy サーバー・プロパティー 説明
com.ibm.as400.access.AS400.proxyServer 次の形式を使用して、Proxy サーバーのホスト名とポート番号を指定します。
   hostName:portNumber
ポート番号はオプションです。
com.ibm.as400.access.TunnelProxyServer.clientCleanupInterval Proxy サーバーがアイドル接続を検索する頻度を、秒単位で指定します。 Proxy サーバーはスレッドを開始して、もう通信を行っていないクライアントを探します。 このプロパティーを使用して、スレッドがアイドル接続を検索する頻度を設定します。
com.ibm.as400.access.TunnelProxyServer.clientLifetime JVM がガーベッジ・コレクションを実行できるように、 Proxy サーバーがオブジェクトへの参照を除去する前にクライアントがアイドル状態になる時間を秒単位で指定します。 Proxy サーバーはスレッドを開始して、もう通信を行っていないクライアントを探します。 ガーベッジ・コレクションを実行する前にクライアントがアイドル状態になる時間を設定するには、このプロパティーを使用します。

トレース・プロパティー

トレース・プロパティー 説明
com.ibm.as400.access.Trace.category 使用可能にするトレース・カテゴリーを指定します。 これは、トレース・カテゴリーの任意の組み合わせを含む、コンマで区切ったリストです。 トレース・カテゴリーの完全なリストは、Trace クラスで定義されています。
com.ibm.as400.access.Trace.file トレース出力が書き込まれるファイルを指定します。 デフォルトでは、トレース出力は System.out に書き込まれます。
com.ibm.as400.access.ServerTrace.JDBC JDBC サーバー・ジョブ上で開始するトレース・カテゴリーを指定します。サポートされる値の詳細については、 JDBC サーバー・トレースのプロパティーを参照してください。

CommandCall/ProgramCall プロパティー

CommandCall/ProgramCall プロパティー 説明
com.ibm.as400.access.CommandCall.threadSafe CommandCalls がスレッド・セーフであることを想定するかどうかを指定します。 true の場合、すべての CommandCalls がスレッド・セーフであると想定されます。 false の場合、すべての CommandCalls がスレッド・セーフでないと想定されます。 オブジェクトに対して CommandCall.setThreadSafe() または AS400.setMustUseSockets(true) のいずれかが実行されている場合、 このプロパティーは、指定されている CommandCall オブジェクトについては無視されます。
com.ibm.as400.access.ProgramCall.threadSafe ProgramCalls がスレッド・セーフであることを想定するかどうかを指定します。 true の場合、すべての ProgramCalls がスレッド・セーフであると想定されます。 false の場合、すべての ProgramCalls がスレッド・セーフでないと想定されます。 オブジェクトに対して ProgramCall.setThreadSafe() または AS400.setMustUseSockets(true) のいずれかが実行されている場合、 このプロパティーは、指定されている ProgramCall オブジェクトについては無視されます。

FTP プロパティー

FTP プロパティー 説明
com.ibm.as400.access.FTP.reuseSocket 「アクティブ」モードにおいて、(単一の FTP インスタンスにより) 複数のファイル転送でソケットを再利用するかどうかを指定します。 true の場合、ソケットは再利用されます。 false の場合、ファイル転送ごとに新しいソケットが作成されます。 ある FTP オブジェクトに対して FTP.setReuseSocket() が実行された場合、そのオブジェクトについて、このプロパティーは無視されます。

接続プロパティー

接続プロパティー 説明
com.ibm.as400.access.AS400.guiAvailable 現在の環境に GUI 機能があるかどうかを示します。 true の場合、エラー状態の表示、追加情報の要求、またはパスワード変更要求のプロンプトがサインオン中に出される可能性があります。 false の場合、エラー状態または欠落情報の結果として例外が発生します。 IBM i アプリケーションとして稼働しているアプリケーション、またはサインオン・ユーザー・インターフェースを制御する必要があるアプリケーションでは、プロンプト・モードを false に設定して実行するのが適切な場合があります。 デフォルトは true です。
com.ibm.as400.access.AS400.mustAddLanguageLibrary システムでの実行時に、AS400 オブジェクトが適切な 2 次言語ライブラリーをライブラリー・リストに追加しようと試みるかどうかを示します。 言語ライブラリーを設定すると、戻されるすべてのシステム・エラー・メッセージは、クライアント・ロケールに適した各国語で必ず戻されるようになります。 true の場合、システムでの実行時に AS400 オブジェクトは 2 次言語ライブラリーをライブラリー・リストに追加しようと試みます。 false の場合、AS400 オブジェクトは 2 次言語ライブラリーをライブラリー・リストに追加しようと試みません。 デフォルトは false です。
com.ibm.as400.access.AS400.mustUseNetSockets AS400 オブジェクトがインターネット・ドメイン・ソケットだけを使用するかどうかを指定します。 Java プログラムがシステムで実行されるとき、いくつかの IBM Toolbox for Java クラスは UNIX ドメイン・ソケット接続を作成します。 true の場合、インターネット・ドメイン・ソケットだけが AS400 オブジェクトによって使用されます。 false の場合、AS400 オブジェクトはインターネット・ドメイン・ソケットに加えて UNIX ドメイン・ソケット接続を使用することができます。 デフォルトは false です。
com.ibm.as400.access.AS400.mustUseSockets AS400 オブジェクトがソケットを使用するかどうかを指定します。 Java プログラムがシステムで実行されるとき、いくつかの IBM Toolbox for Java クラスは、システムへのソケット呼び出しではなく API 呼び出しによってデータにアクセスします。 ソケット呼び出しの代わりに API 呼び出しが使用されるときには、クラスの動作が少し異なります。 このような違いによってプログラムが影響を受ける場合、このプロパティーを true に設定することで、クラスが API 呼び出しの代わりにソケット呼び出しを使用するよう強制できます。 デフォルトは false です。
com.ibm.as400.access.AS400.mustUseSuppliedProfile 提供されているプロファイルだけを AS400 オブジェクトで使用するかどうかを指定します。 Java プログラムがシステムで実行されるとき、現在サインオンしているユーザー・プロファイル (*CURRENT) の情報を使用できます。 true の場合、ユーザー・プロファイルが提供される必要があります。 false の場合、ユーザー・プロファイルが提供されなければ、AS400 オブジェクトは現在のユーザー・プロファイル情報を取得します。 デフォルトは false です。
com.ibm.as400.access.AS400.signonHandler デフォルトのサインオン・ハンドラーを指定します。 ある AS400 オブジェクトに対して AS400.setSignonHandler() が実行されたか、または AS400.setDefaultSignonHandler() が呼び出された場合、そのオブジェクトについて、このプロパティーは無視されます。
com.ibm.as400.access.AS400.threadUsed ホスト・サーバーとの通信で AS400 オブジェクトがスレッドを使用するかどうかを指定します。 IBM Toolbox for Java にスレッドを使用させる場合、パフォーマンス上の効果がある可能性があります。 アプリケーションが Enterprise Java Beans 仕様に準拠する必要がある場合には、スレッドを無効にする必要がある可能性があります。 デフォルトは true です。