システムに関する設定項目について説明します。
WebOTXでは動作環境についての情報を環境変数やJavaシステムプロパティとして保持しています。
WebOTXドメイン共通の環境変数は、以下の設定ファイルで定義されます。
${INSTALL_ROOT}\config\asenv.bat
${INSTALL_ROOT}/config/asenv.conf
以下にその一覧を示します。
以下にその一覧を示します。
| 変数名 | 説明 | 既定値 | |
|---|---|---|---|
| AS_INSTALL | 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}/wojms/lib | |
| AS_IMQ_BIN | JMS実行ディレクトリ | ${AS_INSTALL}/wojms/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_OSPI_LIB | Object Broker(またはObjectSpiner)ライブラリパス |
|
|
| AS_DEF_DOMAINS_PATH | domainsディレクトリ | ${AS_INSTALL}/domains | |
| DERBY_INSTALL | Derbyインストールディレクトリ | Derbyは Java SE 6 に含まれています。 | |
| AS_OSPI_HOME | Object Broker(またはObjectSpiner)インストールディレクトリ |
|
|
| AS_BOOT_DOMAIN | サーバ起動時に自動起動されるドメイン名 | WebOTXAdmin (*) V6.4からV8.1まで提供していたシングルドメインモードと同様の動作としたい場合は、この値をdomain1に変更してください。 |
これらはドメイン作成時に決定されるか、もしくは固定の値を持ちます。ドメイン作成後に変更することはできません。
| 変数名 | 説明 | 既定値 |
|---|---|---|
| DOMAIN_NAME | ドメイン名 (ドメイン作成時に指定) | domain1(WebOTXインストール時自動作成されるドメイン) |
| SERVER_NAME | サーバ名("server"で固定) | server |
| INSTANCE_ROOT | ドメインのルートディレクトリ | ${AS_INSTALL}/domains/${DOMAIN_NAME} |
任意の環境変数を設定する場合、または、システムで定義される環境変数をWebOTXのみ変更する必要がある場合には、以下のように設定ファイルの最後に環境変数の定義を追記します。UNIXの場合、設定した環境変数をドメイン環境で利用する場合はexportを行う必要がありますので注意してください。
set 環境変数名=値
プロセスグループ単位で環境変数を設定したい場合、プロセスグループの「環境変数」で値を設定してください。全プロセスグループへ一括で環境変数を設定したい場合、asenv.bat で設定してください。asenv.bat で設定した環境変数は、ドメイン起動時にプロセスグループのプロセスに引き継がれます。
環境変数名=値 export 環境変数名
例えば、Oracleのライブラリを参照する場合は次のように設定します。 $ORACLE_HOMEの部分には、該当するディレクトリ名を指定してください。
LD_LIBRARY_PATH="$ORACLE_HOME/lib:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH
プロセスグループ単位で環境変数を設定したい場合、プロセスグループの「環境変数」で値を設定してください。全プロセスグループへ一括で環境変数を設定したい場合、asenv.conf で設定してください。asenv.conf で設定した環境変数は、ドメイン起動時にプロセスグループのプロセスに引き継がれます。
WebOTXはインストール時に指定したJava Developer Kit(JDK)を使用して起動されます。
リビジョンアップ、バージョンアップなどによりインストール時とは別のJDKを用いるときは、以下の手順でWebOTXが使用するJDKを変更します。
Java SE 5 から Java SE 6 または Java SE 7 へ変更する場合
[2.2.2. Java SE 5 から Java SE 6 または Java SE 7 へのバージョンアップ]を、参照し変更を行ってください。
Java SE 6 または Java SE 7 から Java SE 5 へ変更する場合
[2.2.3. Java SE 6 または Java SE 7 から Java SE 5 のダウングレード]を参照して変更を行ってください。
上記以外のパターンに該当する場合
本項[2.2.1. JDKの更新・変更]を参照して変更を行ってください。
Windowsサービスより、WebOTXを停止してください。
${INSTALL_ROOT}\config\asenv.bat に記述されている AS_JAVAの設定をJDKの環境に合わせて変更します。
set AS_JAVA=C:\jdk1.5.0_15
${INSTALL_ROOT}\wojms\var\jdk-env.bat に記述されている WOJMS_JAVAHOMEの設定をJDKの環境に合わせて変更します。
set WOJMS_JAVAHOME=C:\jdk1.5.0_15\jre
rcスクリプト、または otxadmin コマンドを使用し、WebOTXを停止してください。
${INSTALL_ROOT}/config/asenv.conf に記述されている AS_JAVAの設定をJDKの環境に合わせて変更します。
AS_JAVA="/opt/java1.5"
${INSTALL_ROOT}/wojms/var/jdk.env に記述されている WOJMS_JAVAHOMEの設定をJDKの環境に合わせて変更します。
/opt/java1.5/jre
Java SE 5 でインストールを行ったWebOTX環境をJava SE 6、または Java SE 7へバージョンアップする際、WebOTXの設定を以下の手順でWebOTXの設定を変更する必要があります。
ドメインが起動している状態で、全てのドメインに対しJavaシステムプロパティ-Dsun.lang.ClassLoader.allowArraySyntaxを追加してください。
otxadmin> create-jvm-options -Dsun.lang.ClassLoader.allowArraySyntax=true
追加した後、ドメインを停止してください。
[2.2.1. JDKの更新・変更]に記載されている、環境変数ファイルを、使用するJDKの環境に合わせて編集してください。
Java SE 6、またはJava SE 7でインストールを行ったWebOTX環境を、Java SE 5 へダウングレードする場合、以下の手順でWebOTXの設定を変更する必要があります。
業務アプリケーションを一端配備解除します
Java SE 5で不要なJavaシステムプロパティを削除します。システムプロパティが設定されていない場合、この作業は不要です。
otxadmin> delete-jvm-options -Dsun.lang.ClassLoader.allowArraySyntax=true
[2.2.1. JDKの更新・変更]に記載されている、環境変数ファイルを、使用するJDKの環境に合わせて編集してください。
ドメインを再起動した後、業務アプリケーションを配備してください。業務アプリケーションがJDK1.6でコンパイルされていた場合、JDK1.5で再度コンパイルし直した後、配備を行ってください。
UNIX系のOSでは、WebOTXのインストール時にシステム管理者権限をもつrootユーザとは別に、WebOTXの起動ユーザを指定してインストールが可能であり、推奨しています。WebOTX管理ユーザ(運用ユーザ)を設定することで、不用意なシステム権限領域へのアクセスを制御し、より強固なセキュリティの確保とOSのもつユーザ制限機能を利用することができます。
管理ユーザ設定の方法については、[ 4. ユーザ管理 > 4.4. その他の管理ユーザ > 4.4.1. 管理ユーザ設定(UNIX) ]を参照してください。
WebOTXインストール後にマシンのホスト名やIPアドレスを変更するための手順について説明します。
必要となる手順は、インストールしたエディションと使用しているコンポーネントの種類によって違います。以下の表にしたがってください。
| 手順 | Express | Foundation | Standard | Enterprise |
|---|---|---|---|---|
| ドメインのホスト名変更 | ○ | ○ | ○ | ○ |
| TPシステムの設定変更 | - | ○ | ○ | ○ |
| Webコンテナの仮想サーバ機能の設定変更 | △ | △ | △ | △ |
| JDBCデータソースの設定変更 | △ | △ | △ | △ |
| Object Brokerの設定変更 | △ | △ | △ | △ |
| JMSの設定変更 | △ | △ | △ | △ |
| JNDIクライアントの設定変更 | △ | △ | △ | △ |
| トランザクションの強制終了 | △ | △ | △ | △ |
| ドメインの停止 | ○ | ○ | ○ | ○ |
| namesv.ndfファイルの削除 | ○ | ○ | ○ | ○ |
| domain.xmlの修正 | ○ | ○ | ○ | ○ |
| ドメインの起動 | ○ | ○ | ○ | ○ |
| アプリケーションリファレンスの再登録 | - | ○ | ○ | ○ |
| 凡例 | |
|---|---|
| ○ | 必須の手順 |
| △ | 使用しているなら必要な手順 |
| - | 必要ない手順 |
それぞれ必要な手順を運用管理コマンドで行ってください。ここでは新たに設定するホスト名は<hostname>としています。
ドメインのホスト名に既定値である"localhost"が指定されているならこの手順は不要です。 現在のドメインのホスト名はget domain.hostnameコマンドで確認できます。
otxadmin> set domain.hostname=<hostname>
otxadmin> set tpsystem.serverName=<hostname>
otxadmin> set tpsystem.nameSvHostName=<hostname>
マルチサーバ設定をしている場合は、サーバ名に変更があるものに対して実行してください。
otxadmin> set tpsystem.multiServers.<system group name>.<server set name>.serverName=<hostname>
仮想サーバ機能を使用しているときに必要な作業になります。
otxadmin> set server.http-service.virtual-server.<仮想サーバID>.hosts=<hostname>
dataSourceTypeがJDBCEX_OracleやJDBCの場合は、dataSourceNameで指定している接続文字列中のホスト名を変更してください。
otxadmin> set server.resources.jdbc-datasource.<データソースのJNDI名>.dataSourceName=jdbc:oracle:thin:@<hostname>:1521:orcl
dataSourceTypeがJDBCEX_MSSqlServerやJDBCEX_Sybase、JDBCEX_DB2など、serverNameを指定している場合は、TCPホスト名を変更してください。
otxadmin> set server.resources.jdbc-datasource.<データソースのJNDI名>.serverName=<hostname>
そのほか、Oracle OCIドライバを利用している場合は、tnsnames.oraを変更してください。詳細はOracleのマニュアルをご覧ください。
Object Brokerでは、デフォルトでホスト名やIPアドレスが設定される項目はありませんが、次のような目的でホスト名を明示的に指定している場合には設定変更が必要です。
server.objectbrokerservice.namesv.NameServiceHostName(名前サーバが動作しているホスト名)
otxadmin> set server.objectbrokerservice.namesv.NameServiceHostName=<hostname>
server.objectbrokerservice.namesv.NameServiceExportHostName(名前サーバのIOR中に含まれるホスト情報)
otxadmin> set server.objectbrokerservice.namesv.NameServiceExportHostName=<hostname>
server.objectbrokerconfig.NameServiceHostName(名前サービスが動作しているホスト名)
otxadmin> set server.objectbrokerconfig.NameServiceHostName=<hostname>
server.objectbrokerservice.irsv.InterfaceRepositoryHostName(インタフェースリポジトリが動作するホスト名)
otxadmin> set server.objectbrokerservice.irsv.InterfaceRepositoryHostName=<hostname>
server.objectbrokerconfig.InterfaceRepositoryHost(インタフェースリポジトリが動作するホスト名)
otxadmin> set server.objectbrokerconfig.InterfaceRepositoryHost=<hostname>
server.objectbrokerservice.cnamesv.nmsvlist(キャッシュ元となる名前サーバのリスト)
otxadmin> set server.objectbrokerservice.cnamesv.nmsvlist=host1,…,<hostname>,…,hostN
server.objectbrokerconfig.ExternalHostName(クライアント端末に公開するサーバのホスト名)
otxadmin> set server.objectbrokerconfig.ExternalHostName=<hostname>
server.objectbrokerconfig.AlternativeHostName(リファレンス生成時に格納するホスト名)
otxadmin> set server.objectbrokerconfig.AlternativeHostName=<hostname>
server.objectbrokerconfig.AlternativeHostNames(自ホストとみなすホスト名の一覧)
otxadmin> set server.objectbrokerconfig.AlternativeHostNames=host1:…:<hostname>:…:hostN
これらの設定で、明示的に指定しているホスト名を変更してください。
これらのホスト名をまとめて指定する場合は、server.objectbrokerconfig.ExternalHostNameだけを指定してください。
その他、Object Broker JavaのプロパティでORBInitialHostもしくはNameServiceHost(またはNameServiceHostName)を指定していれば、その変更も必要です。クライアントとサーバが同一マシンであれば、既定値は自ホスト(localhost)なので、設定不要です。
[ リファレンス集 運用管理・設定編 > 1. コンフィグレーション(設定一覧) > 1.10. Object Broker > 1.10.2. Object Broker JavaにおけるORBのプロパティ定義 ] を参照してください。
otxadmin> set server.jms-service.jms-host.default_JMS_host.host=<hostname>
otxadmin> set server.resources.jms-resource.jms-connection-factory.<CF name for JNDI>.wojmsBrokerHostName=<hostname>
ドメインごとのconfig.propertiesに記述してある、JDBCのURLに含まれるホスト名を変更してください。
${AS_INSTALL}/domains/${DOMAIN_NAME}/wojms/instances/wojmsbroker/props/config.properties
${AS_INSTALL}/wojms/bin/wojmsobjmgr update -t qf -l <CF name for JNDI> -j wojmsBrokerHostName=<hostname>
クライアントアプリケーションでjava.naming.provider.urlシステムプロパティを用い、JNDIサーバのURLとして ホスト名を指定している場合は変更が必要です。
-Djava.naming.provider.url=rmiiiop://<hostname>
-Djava.naming.provider.url=corbaname://<hostname>
以下の手順で、完了していないトランザクションを終了させる必要があります。
otxadmin> set server.monitoring-service.module-monitoring-levels.transaction-service=LOW
otxadmin> get --monitor=true server.transaction-service.ActiveIds-Current
上記コマンドを実行すると、残っているトランザクションが表示されます。トランザクションが残っている場合、以下のコマンドでトランザクションをすべて終了させてください。
otxadmin > rollback-transaction <Transaction ID>
otxadmin > commit-transaction <Transaction ID>
otxadmin > forget-transaction <Transaction ID>
otxadmin > delete-transaction <Transaction ID>
otxadmin> set server.monitoring-service.module-monitoring-levels.transaction-service=OFF
ドメインの再起動のために停止を行います。
otxadmin > stop-domain --remote ${DOMAIN_NAME}
以下のパスにあるバイナリファイル内に古いホスト名やIPアドレスの情報がキャッシュとして残っています。WebOTXの設定で、明示的にIPアドレスを指定していない場合もホスト名から変換された IPアドレスが残ります。ドメインを停止した状態で削除してください。このファイルは、ドメイン起動時に存在していなければ再作成されます。
${AS_INSTALL}/domains/${DOMAIN_NAME}/config/ObjectBroker/namesv.ndf
IPアドレスを保存しないようにするためには、Object Broker JavaのプロパティでUseHostNameにyesを指定してください。詳細は、 [ リファレンス集 運用管理・設定編 > 1. コンフィグレーション(設定一覧) > 1.10. Object Broker > 1.10.2. Object Broker JavaにおけるORBのプロパティ定義 ] を参照してください。
ドメイン構成ファイル(domain.xml)に次のシステムプロパティが設定されている場合は、ホスト名の部分を新しいホスト名に修正してください。
ドメインの再起動を完了させます。
otxadmin > start-domain --remote ${DOMAIN_NAME}
「名前サーバへの登録」を"永続的扱う"に設定をしている場合は、再登録の必要があります。"一時的に扱う"に設定している場合は不要です。URLを省略した場合は、名前サーバリストのURL全てが登録されます。
otxadmin> invoke applications.j2ee-applications.<application name>.<module name>.<bean name>.<interface name>.bindIor <bind url>
otxadmin> invoke applications.corba-applications.<application name>.<module name>.<interface name>.bindIor <bind url>