環境変数・JDK・ホスト名の設定変更

システムに関する設定項目について説明します。

1. システム環境変数

WebOTXでは動作環境についての情報を環境変数やJavaシステムプロパティとして保持しています。

WebOTXドメイン共通の環境変数は、以下の設定ファイルで定義されます。

1.1. Windows版のドメイン共通環境変数設定ファイル

${AS_INSTALL}\config\asenv.bat

1.2. UNIX版のドメイン共通環境変数設定ファイル

${AS_INSTALL}/config/asenv.conf

以下にその一覧を示します。

1.3. ドメイン共通の環境変数

ドメイン共通の環境変数一覧
変数名 説明 既定値
AS_INSTALL WebOTXインストールディレクトリ。インストール時に指定する。
  • Windows版
    (システムドライブ):\WebOTX
  • UNIX
    /opt/WebOTX
AS_ANT ANTディレクトリ ${AS_INSTALL}/lib/ant
AS_ANT_LIB ANTライブラリディレクトリ ${AS_ANT}/lib
AS_WEBSERVICES_LIB WEBサービスライブラリディレクトリ ${AS_INSTALL}/lib
AS_IMQ_LIB JMSライブラリディレクトリ ${AS_INSTALL}/jmq/lib
AS_IMQ_BIN JMS実行ディレクトリ ${AS_INSTALL}/jmq/bin
AS_CONFIG コンフィグディレクトリ ${AS_INSTALL}/config
AS_JAVA JAVAインストールディレクトリ ${JAVA_HOME}
AS_ACC_CONFIG アプリケーションクライアントが使用するXMLファイル ${AS_INSTALL}/lib/appclient/nec-acc.xml
AS_ICU_LIB WebOTX実行時に必要なネイティブライブラリディレクトリ ${AS_INSTALL}/lib
AS_DEF_DOMAINS_PATH domainsディレクトリ ${AS_INSTALL}/domains
DERBY_INSTALL Derbyインストールディレクトリ Derbyは Java SE 8 に含まれています。
AS_OSPI_HOME Object Brokerインストールディレクトリ ${AS_INSTALL}/ObjectBroker
AS_BOOT_DOMAIN サーバ起動時に自動起動されるドメイン名 admin

(*) V6.4からV8.1まで提供していたシングルドメインモードと同様の動作としたい場合は、この値をdomain1に変更してください。

1.4. ドメイン固有の環境変数

これらはドメイン作成時に決定されるか、もしくは固定の値を持ちます。ドメイン作成後に変更することはできません。

ドメイン固有の環境変数一覧
変数名 説明 既定値
DOMAIN_NAME ドメイン名 (ドメイン作成時に指定) domain1(WebOTXインストール時自動作成されるドメイン)
SERVER_NAME サーバ名("server"で固定) server
INSTANCE_ROOT ドメインのルートディレクトリ ${AS_INSTALL}/domains/${DOMAIN_NAME}

任意の環境変数を設定する場合、または、システムで定義される環境変数をWebOTXのみ変更する必要がある場合には、以下のように設定ファイルの最後に環境変数の定義を追記します。 UNIXの場合、設定した環境変数をドメイン環境で利用する場合はexportを行う必要がありますので注意してください。

1.5. ユーザ任意の環境変数設定

1.5.1. WebOTX 全体に環境変数を設定する

WebOTX全体に対して環境変数を設定する場合、Windowsの場合はasenv.batを、Unixの場合はasenv.confを編集する必要があります。 ここで設定した環境変数は、全てのドメイン及び全てのプロセスグループに対して反映されます。

Caution
asenv.bat及び、asenv.confにはWebOTXが使用する環境変数が記載されています。既に記載されている環境変数を削除しないよう注意してください。
Windows版での環境変数設定方法

${AS_INSTALL}/config/asenv.bat に以下のように任意の環境変数を追記してください。追加した環境変数は次回以降の起動時に反映されます。

set <環境変数名>=<値>
UNIX版での環境変数設定方法

${AS_INSTALL}/config/asenv.conf に以下のように任意の環境変数を追記してください。追加した環境変数は次回以降のサービス起動時に反映されます。

<環境変数名>=<値>
export <環境変数名>

例えば、Oracleのライブラリを参照する場合は次のように設定します。 $ORACLE_HOMEの部分には、該当するディレクトリ名を指定してください。

LD_LIBRARY_PATH="$ORACLE_HOME/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH

1.5.2. ドメイン単位の環境変数設定

ドメイン単位に環境変数を設定する場合、${INSTANCE_ROOT}/config/asenv.propertiesに対して、下記のように追記してください。 ここで設定した環境変数は、ドメインと、そのドメイン上で動作するプロセスグループ全てに対して反映されます

<環境変数名>=<値>

追加した環境変数は次回以降のドメイン起動時に反映されます。

1.5.3. プロセスグループ単位の環境変数設定 St

プロセスグループ単位で環境変数を設定したい場合、プロセスグループの「環境変数」で値を設定してください。

追加した環境変数は次回以降のプロセスグループ起動時に反映されます。

2. JDKの設定

WebOTXはインストール時に指定したJava Developer Kit(JDK)を使用して起動されます。

2.1. JDKの更新・変更

リビジョンアップ、バージョンアップなどによりインストール時とは別のJDKを用いるときは、以下の手順でWebOTXが使用するJDKを変更します。

Java SE 8 から Java SE 11 へ変更する場合
[ Java SE 8 から Java SE 11 へのバージョンアップ ]を参照して変更を行ってください。

Java SE 11 から Java SE 8 へ変更する場合
[ Java SE 11 から Java SE 8 へのダウングレード ]を参照して変更を行ってください。

上記以外のパターンに該当する場合
本項[ JDKの更新・変更 ]を参照して変更を行ってください。

Caution
変更・更新対象の Java SE により変更手順が異なる点に注意してください。
Windows版
  1. WebOTXの停止

    Windowsサービスより、WebOTXを停止してください。

  2. 環境変数設定ファイルの変更

    ${AS_INSTALL}\config\asenv.bat に記述されている AS_JAVAの設定をJDKの環境に合わせて変更します。

    set AS_JAVA=C:\jdk1.8.0_xxx
    
UNIX版
  1. WebOTXの停止

    rcスクリプト、または otxadmin コマンドを使用し、WebOTXを停止してください。

  2. 環境変数設定ファイルの変更

    ${AS_INSTALL}/config/asenv.conf に記述されている AS_JAVAの設定をJDKの環境に合わせて変更します。

    AS_JAVA="/usr/java1.8.0_xxx"
    

2.2. Java SE 8 から Java SE 11 へのバージョンアップ

Java SE 8 でインストールを行ったWebOTX環境をJava SE 11へバージョンアップする際、WebOTXの設定を以下の手順で変更する必要があります。

  1. プロセスグループの既定Javaシステムプロパティの削除 (Standardの場合のみ)

    各プロセスグループの既定Javaシステムプロパティから下記のシステムプロパティを削除します。

    現在のプロセスグループの既定Javaシステムプロパティの確認
    otxadmin> get tpsystem.applicationGroups.<アプリケーショングループ名>.processGroups.<プロセスグループ名>.defaultJavaSystemPropertyList
    プロセスグループの既定Javaシステムプロパティの変更
    otxadmin> set tpsystem.applicationGroups.<アプリケーショングループ名>.processGroups.<プロセスグループ名>.defaultJavaSystemPropertyList=<java.endorsed.dirs 以外のシステムプロパティ>
    Caution
    defaultJavaSystemPropertyList にはプロセスグループの既定システムプロパティが設定されています。削除対象以外のシステムプロパティを削除しないよう注意してください。
  2. WebOTXの停止
  3. 環境変数設定ファイルの変更

    下記のコマンドを実行して、環境変数設定ファイルを変更します。

Caution
JDK 11を使用する場合の注意事項があります。詳細は、下記を参照してください。

2.3. Java SE 11 から Java SE 8 へのダウングレード

Java SE 11でインストールを行ったWebOTX環境を、Java SE 8 へダウングレードする場合、以下の手順でWebOTXの設定を変更する必要があります。

  1. アプリケーションの配備解除

    業務アプリケーションを一端配備解除します

  2. プロセスグループの既定Javaシステムプロパティの追加

    各プロセスグループの既定Javaシステムプロパティから下記のシステムプロパティを追加します。

    現在のプロセスグループの既定Javaシステムプロパティの確認
    otxadmin> get tpsystem.applicationGroups.<アプリケーショングループ名>.processGroups.<プロセスグループ名>.defaultJavaSystemPropertyList
    プロセスグループの既定Javaシステムプロパティの変更
    otxadmin> set tpsystem.applicationGroups.<アプリケーショングループ名>.processGroups.<プロセスグループ名>.defaultJavaSystemPropertyList=<java.endorsed.dirs を追加したシステムプロパティ>
    Caution
    defaultJavaSystemPropertyList にプロセスグループの既定システムプロパティが設定されています。既に設定されているシステムプロパティを削除しないよう注意してください。
  3. WebOTXの停止
  4. 環境変数設定ファイルの変更

    下記のコマンドを実行して、環境変数設定ファイルを変更します。

  5. appserv_jvm.properties の変更

    <WebOTXインストールディレクトリ>/config/appserv_jvm.properties から Java SE 8 で不要なJVMオプションを無効化します。

    変更前:
    -Xbootclasspath/a:<WebOTXインストールディレクトリ>/modules/endorsed/javax.annotation-api.jar:<WebOTXインストールディレクトリ>/modules/endorsed/wows-api.jar:<WebOTXインストールディレクトリ>/modules/transaction-api-repackaged.jar:<WebOTXインストールディレクトリ>/modules/activation.jar
    -Djdk.attach.allowAttachSelf=true
    -Dnashorn.args=--no-deprecation-warning
    -XX:+IgnoreUnrecognizedVMOptions
    --add-opens=java.base/java.lang=ALL-UNNAMED
    --add-opens=java.base/java.io=ALL-UNNAMED
    --add-opens=java.base/java.net=ALL-UNNAMED
    --add-opens=java.base/java.util=ALL-UNNAMED
    --add-opens=java.base/java.security=ALL-UNNAMED
    --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED
    --add-opens=java.base/sun.net.www.protocol.jar=ALL-UNNAMED
    --add-opens=java.base/sun.net.www.protocol.jrt=ALL-UNNAMED
    --add-opens=java.naming/javax.naming=ALL-UNNAMED
    --add-opens=java.naming/javax.naming.spi=ALL-UNNAMED
    --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
    --illegal-access=permit
    

    変更後: 行頭に # を付けてコメントアウトします。
    #-Xbootclasspath/a:<WebOTXインストールディレクトリ>/modules/endorsed/javax.annotation-api.jar:<WebOTXインストールディレクトリ>/modules/endorsed/wows-api.jar:<WebOTXインストールディレクトリ>/modules/transaction-api-repackaged.jar:<WebOTXインストールディレクトリ>/modules/activation.jar
    #-Djdk.attach.allowAttachSelf=true
    #-Dnashorn.args=--no-deprecation-warning
    #-XX:+IgnoreUnrecognizedVMOptions
    #--add-opens=java.base/java.lang=ALL-UNNAMED
    #--add-opens=java.base/java.io=ALL-UNNAMED
    #--add-opens=java.base/java.net=ALL-UNNAMED
    #--add-opens=java.base/java.util=ALL-UNNAMED
    #--add-opens=java.base/java.security=ALL-UNNAMED
    #--add-opens=java.base/jdk.internal.loader=ALL-UNNAMED
    #--add-opens=java.base/sun.net.www.protocol.jar=ALL-UNNAMED
    #--add-opens=java.base/sun.net.www.protocol.jrt=ALL-UNNAMED
    #--add-opens=java.naming/javax.naming=ALL-UNNAMED
    #--add-opens=java.naming/javax.naming.spi=ALL-UNNAMED
    #--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
    #--illegal-access=permit
    
  6. アプリケーションの配備

    WebOTXを再起動した後、業務アプリケーションを配備してください。業務アプリケーションがJDK 11でコンパイルされていた場合、JDK 8で再度コンパイルし直した後、配備を行ってください。

3. 管理ユーザ設定(UNIX)

UNIX系のOSでは、WebOTXのインストール時にシステム管理者権限をもつrootユーザとは別に、WebOTXの起動ユーザを指定してインストールが可能であり、推奨しています。WebOTX管理ユーザ(運用ユーザ)を設定することで、不用意なシステム権限領域へのアクセスを制御し、より強固なセキュリティの確保とOSのもつユーザ制限機能を利用することができます。

管理ユーザ設定の方法については、[ ユーザ管理 > その他の管理ユーザ > 管理ユーザ設定(UNIX) ]を参照してください。

4. ホスト名の変更

WebOTXインストール後にマシンのホスト名やIPアドレスを変更するための手順について説明します。

必要となる手順は、インストールしたエディションと使用しているコンポーネントの種類によって違います。以下の表にしたがってください。

エディション別ホスト名変更手順
手順 Express Standard
ドメインのホスト名変更
TPシステムの設定変更 -
Webコンテナの仮想サーバ機能の設定変更
JDBCデータソースの設定変更
Object Brokerの設定変更
JMSの設定変更
JNDIクライアントの設定変更
トランザクションの強制終了
ドメインの停止
namesv.ndfファイルの削除
domain.xmlの修正
WebOTX Webサーバの設定ファイル修正
ドメインの起動
アプリケーションリファレンスの再登録 -
凡例
必須の手順
使用しているなら必要な手順
- 必要ない手順

それぞれ必要な手順を運用管理コマンドで行ってください。ここでは新たに設定するホスト名は<hostname>としています。

Caution
※ 以下の設定項目に記載されているホスト名と、変更前のドメインのホスト名が同じ場合、ドメインの再起動時に [ ドメインのホスト名変更 ] で指定した値が自動的に設定されるため、設定変更は不要です。

4.1. ドメインのホスト名変更

ドメインのホスト名に既定値である"localhost"が指定されているならこの手順は不要です。 現在のドメインのホスト名はget domain.hostnameコマンドで確認できます。

otxadmin> set domain.hostname=<hostname>

4.2. TPシステムの設定変更

接続サーバ名の変更
otxadmin> set tpsystem.serverName=<hostname>
名前サービスホスト名の変更
otxadmin> set tpsystem.nameSvHostName=<hostname>
マルチサーバサーバ名の変更

マルチサーバ設定をしている場合は、サーバ名に変更があるものに対して実行してください。

otxadmin> set tpsystem.multiServers.<system group name>.<server set name>.serverName=<hostname>

4.3. Webコンテナの仮想サーバ機能の設定変更

仮想サーバ機能を使用しているときに必要な作業になります。

otxadmin> set server.http-service.virtual-server.<仮想サーバID>.hosts=<hostname>

4.4. JDBCデータソースの設定変更

dataSourceNameの接続文字列(JDBC URL)の見直し

dataSourceTypeがJDBCEX_OracleやJDBCの場合は、dataSourceNameで指定している接続文字列中のホスト名を変更してください。

otxadmin> set server.resources.jdbc-datasource.<データソースのJNDI名>.dataSourceName=jdbc:oracle:thin:@<hostname>:1521:orcl
serverNameのTCPホスト名の見直し

dataSourceTypeがJDBCEX_MSSqlServerやJDBCEX_Sybase、JDBCEX_DB2など、serverNameを指定している場合は、TCPホスト名を変更してください。

otxadmin> set server.resources.jdbc-datasource.<データソースのJNDI名>.serverName=<hostname>

そのほか、Oracle OCIドライバを利用している場合は、tnsnames.oraを変更してください。詳細はOracleのマニュアルをご覧ください。

4.5. Object Brokerの設定変更

Object Brokerでは、デフォルトでホスト名やIPアドレスが設定される項目はありませんが、次のような目的でホスト名を明示的に指定している場合には設定変更が必要です。

CORBAサービスの名前サーバに関する設定変更

server.corba-service.namesv.NameServiceHostName(名前サーバが動作しているホスト名)

otxadmin> set server.corba-service.namesv.NameServiceHostName=<hostname>

server.corba-service.namesv.NameServiceExportHostName(名前サーバのIOR中に含まれるホスト情報)

otxadmin> set server.corba-service.namesv.NameServiceExportHostName=<hostname>

server.orb-config.NameServiceHostName(名前サービスが動作しているホスト名)

otxadmin> set server.orb-config.NameServiceHostName=<hostname>
IIOP通信を行う、CORBAサービス、JNDIサービスなどに関する共通な設定変更

server.orb-config.ExternalHostName(クライアント端末に公開するサーバのホスト名)

otxadmin> set server.orb-config.ExternalHostName=<hostname>

server.orb-config.AlternativeHostName(リファレンス生成時に格納するホスト名)

otxadmin> set server.orb-config.AlternativeHostName=<hostname>

server.orb-config.AlternativeHostNames(自ホストとみなすホスト名の一覧)

otxadmin> set server.orb-config.AlternativeHostNames=host1:…:<hostname>:…:hostN

これらの設定で、明示的に指定しているホスト名を変更してください。
これらのホスト名をまとめて指定する場合は、server.orb-config.ExternalHostNameだけを指定してください。

その他、Object Broker JavaのプロパティでORBInitialHostもしくはNameServiceHost(またはNameServiceHostName)を指定していれば、その変更も必要です。クライアントとサーバが同一マシンであれば、既定値は自ホスト(localhost)なので、設定不要です。

[ リファレンス > 設定 > CORBA通信基盤(Object Broker) > Object Broker JavaにおけるORBのプロパティ定義 ] を参照してください。

4.6. JMSの設定変更

JMSサーバのホスト名の変更
otxadmin> set server.jms-service.jms-host.default_JMS_host.host=<hostname>
JMSリソース(コネクションファクトリ)の接続先ホスト名の変更
otxadmin> set server.resources.jms-resource.jms-connection-factory.<CF name for JNDI>.wojmsBrokerHostName=<hostname>
JDBCの接続先のホスト名の変更

JDBCストア利用時は、必要に応じて、JDBCのURLに含まれるホスト名を変更してください。

otxadmin> set server.jms-service.jdbcStoreURL=jdbc:…:<hostname>:…
JMSリソースアダプタ(jmsra)に対するコネクタモジュール構成情報の接続先ホスト名の変更

コネクタモジュール構成情報の、ConnectionURLプロパティに含まれるホスト名を変更してください。

otxadmin> set server.resources.resource-adapter-config.jmsra.property.ConnectionURL=wojms\://<hostname>\:<port number>/"

4.7. JNDIクライアントの設定変更

クライアントアプリケーションでjava.naming.provider.urlシステムプロパティを用い、JNDIサーバのURLとして ホスト名を指定している場合は変更が必要です。

Cos名前サーバを経由しない場合(デフォルト動作)

-Djava.naming.provider.url=rmiiiop://<hostname>

Cos名前サーバを経由する場合

-Djava.naming.provider.url=corbaname://<hostname>

4.8. トランザクションの強制終了

以下の手順で、完了していないトランザクションを終了させる必要があります。

  1. モニタリングレベルの変更
    otxadmin> set server.monitoring-service.module-monitoring-levels.transaction-service=LOW
    
  2. トランザクション一覧取得
    otxadmin> get --monitor=true server.transaction-service.ActiveIds-Current
    

    上記コマンドを実行すると、残っているトランザクションが表示されます。トランザクションが残っている場合、以下のコマンドでトランザクションをすべて終了させてください。

  3. モニタリングレベルを戻す
    otxadmin> set server.monitoring-service.module-monitoring-levels.transaction-service=OFF
    

4.9. ドメインの停止

ドメインの再起動のために停止を行います。

otxadmin > stop-domain --remote ${DOMAIN_NAME}

4.10. namesv.ndfファイルの削除

以下のパスにあるバイナリファイル内に古いホスト名やIPアドレスの情報がキャッシュとして残っています。WebOTXの設定で、明示的にIPアドレスを指定していない場合もホスト名から変換された IPアドレスが残ります。ドメインを停止した状態で削除してください。このファイルは、ドメイン起動時に存在していなければ再作成されます。

${AS_INSTALL}/domains/${DOMAIN_NAME}/config/ObjectBroker/namesv.ndf

IPアドレスを保存しないようにするためには、Object Broker JavaのプロパティでUseHostNameにyesを指定してください。詳細は、 [ リファレンス > 設定 > CORBA通信基盤(Object Broker) > Object Broker JavaにおけるORBのプロパティ定義 ] を参照してください。

4.11. domain.xmlの修正

ドメイン構成ファイル(domain.xml)に次のシステムプロパティが設定されている場合は、ホスト名の部分を新しいホスト名に修正してください。

4.12. WebOTX Webサーバの設定ファイル修正

WebOTX Webサーバの設定ファイル(httpd.conf、ssl.conf)に含まれるホスト名を変更してください。

4.13. ドメインの起動

ドメインの再起動を完了させます。

otxadmin > start-domain --remote ${DOMAIN_NAME}

4.14. アプリケーションリファレンスの再登録

Caution
※ EJBアプリケーションを配備していない場合、アプリケーションリファレンスの再登録は不要です。

「オブジェクトリファレンスのポリシ」を"永続的扱う"に設定をしている場合は、再登録の必要があります。"一時的に扱う"に設定している場合は不要です。URLを省略した場合は、名前サーバリストのURL全てが登録されます。

J2EEアプリケーションの場合
otxadmin> invoke applications.j2ee-applications.<application name>.<module name>.<bean name>.<interface name>.bindIor <bind url>