1. コンフィグレーション(設定一覧)

1.1. 各サービスの属性

WebOTXの各サービスで提供している属性の設定方法について説明します。属性はMOの属性として提供しています。属性値の取得・設定を行なうには次の方法があります。

1.1.1. サービス一覧

WebOTXで提供しているサービス一覧を以下に示します。なお各サービスの属性については各サービスの設定項目についてを参照ください。

1.1.2. 統合運用管理ツールを利用しての設定

WebOTXAdministratorで提供しているWebOTX統合運用管理ツールよりGUI画面で設定を行なうことが出来ます。統合運用管理ツールの使用方法は、 「運用ツールガイド > 2. 統合運用管理ツール(WebOTX Administrator)」を参照してください。

1.1.3. 運用管理コマンドを利用しての設定

WebOTX実行環境(Express,Standard,Enterpriseの各エディション)およびWebOTX Administratorで提供している運用管理コマンドよりコマンドベースで設定を行なうことができます。設定方法の例については「4. 運用管理コマンドリファレンス > 4.2. 運用管理コマンド(otxadmin) > 4.2.1. 使用方法 > 4.2.1.1. 運用管理コマンドの使用例」を参照してください。

1.1.4. JMX APIを利用した設定

JMX APIを利用したJavaプログラムより設定を行なうことが出来ます。なおJMXを利用したプログラミングについては [ アプリケーション開発ガイド(共通) > 5. JMXアプリケーションの開発 ] を参照ください。また各MOについては、「2. MO定義リファレンス」を参照ください。

1.2. 運用管理エージェント

運用管理エージェントに関する設定について説明します。

1.2.1. 運用管理エージェント設定項目・設定方法

運用管理エージェントの設定項目については全てMO化されています。項目の設定方法については、「1.1. 各サービスの属性」を参照してください。

1.2.2. 運用管理エージェント設定項目一覧

Dottedname : domain

表1.2.2-1
属性名
(attribute-name)
説 明 既定値
application-root アプリケーション配備パスを表します。 ${INSTANCE_ROOT}
/applications
backup-option バックアップの対象とするファイルを指定します。"config"を指定した場合、${INSTANCE_ROOT}/configフォルダ、"all"を指定した場合、${INSTANCE_ROOT}/配下にある各種リソースファイルを対象とします。 config
num-config-backup-generations リソースのバックアップ世代数 3
hostname ホスト名を表します。 自ホスト名
ipv6-enable IPv6を優先的に使用するかを指定します。既定値はIPv4優先(false)です。jvm-optionのjava.net.preferIPv6Addressesの設定に影響します。 false
use-dhcp DHCP環境でドメインを動作させるかを指定します。動作対象のホストがDHCP環境の場合、trueを指定します。 false
start-script 起動時実行スクリプトを登録します。これはドメインの起動処理が開始した直後に実行するスクリプトになります。 なし
start-script-on-failure 起動時実行スクリプトが失敗した際、ドメイン起動処理を継続かドメイン起動処理を停止するかを選択します。
  • continue

    失敗した場合、ドメインの起動を継続します。

  • stop

    失敗した場合、ドメインを停止します。

continue
start-script-timeout 起動時実行スクリプトを実行した際のタイムアウト値を指定します。(単位:秒) 1000
stop-script 停止時実行スクリプトを登録します。これはドメインの停止処理が完了する直前に実行するスクリプトです。 なし
stop-script-timeout 停止時実行スクリプトを実行した際のタイムアウト値を指定します。(単位:秒) 1000

Dottedname : server.J2EEServer

表1.2.2-2
属性名
(attribute-name)
説 明 既定値
waiting-shutdown-timeout-in-seconds サーバシャットダウン処理を待機する時間(秒)を指定します。 60

Dottedname : server.admin-service

表1.2.2-3
属性名
(attribute-name)
説 明 既定値
system-jmx-connector-name JMXコネクタ名を表します。 jmx_connector
type サーバインスタンスのタイプを指定します。 das-and-server

Dottedname : server.admin-service.das-config

表1.2.2-4
属性名
(attribute-name)
説 明 既定値
admin-session-timeout-in-minutes 運用管理コンソールのタイムアウト値を表します。 60
autodeploy-dir autodeploy用のディレクトリを指定します。 ${INSTANCE_ROOT}
/autodeploy
autodeploy-enabled trueのとき、autodeployが可能になります。 ドメインの再起動や個別の配備操作を行わずに、起動しているアプリケーションサーバにアプリケーションやモジュールをすばやく配備することができます。 true
autodeploy-jsp-precompilation-enabled trueのとき、JSPページはautodeploy中に事前コンパイルされます。 false
autodeploy-polling-interval-in-seconds Autodeployのポーリング間隔(秒単位)を指定します。 2
deploy-xml-validation 配備時に配備記述子のXML妥当性チェックの種類を設定します。

full - XML妥当性チェックが失敗したときは配備も失敗します。

parsing - XML妥当性チェック時のエラーは記録されますが、配備は行われます。

none - XML妥当性チェックは行われません。
full
dynamic-reload-enabled trueの場合、動的リロードを実行するためにすべてのモジュールおよびアプリケーションディレクトリ階層の.reloadファイル上のタイムスタンプをチェックします。 true
(Standard、およびEnterpriseでは、falseに設定されます。)
dynamic-reload-poll-interval-in-seconds 動的リロードのポーリング間隔(秒単位)を指定します。 2
deployable-space-validation 配備可能容量の検証を行うかどうかを設定します。 true
deployable-space-validation-err-size 配備時にディスクの空き容量が足りなくなったことを示す閾値です。 512
deployable-space-validation-warn-size 配備時にディスクの空き容量が少なくなってきたことを警告する閾値です。 1024

Dottedname : server.admin-service.jmx-connector.system-option

表1.2.2-5
属性名
(attribute-name)
説 明 既定値
access-log-enabled アクセス記録の有無を指定します。 true
address アドレスを指定します。 0.0.0.0
enabled チェックした場合、JMXコネクタが有効になります。 false
name JMXコネクタ名です。 system-option
port JMX Remoteで使用するポート番号を指定します。 各domainのport番号
protocol JMX Remoteで使用するプロトコルを指定します。 jmxmp
security-enabled セキュリティ機能の有無を指定します。 true

Dottedname : server.admin-service.jmx-connector.system

表1.2.2-6
属性名
(attribute-name)
説 明 既定値
access-log-enabled アクセスログ採取の有無を指定します。 設定を反映させるにはドメインの再起動が必要です。 true
address アドレスを指定します。 0.0.0.0
enabled チェックした場合、JMXコネクタが有効になります。 true
name JMXコネクタ名です。 system
port JMX Remoteで使用するポート番号です。 各domainのport番号
protocol JMX Remoteで使用するプロトコルです。 rmi_jrmp
security-enabled セキュリティ機能の有無を指定します。 false

Dottedname : server.internal-lifecycle-module.service-name

表1.2.2-7
属性名
(attribute-name)
説 明 既定値
class-name ライフサイクルモジュールの完全修飾クラス名を表します。インストール時に定義されているモジュールのクラス名は変更しないで下さい。 -
dependence 依存関係を持つモジュール(サービス)の名前のリストを表します。インストール時に定義されているモジュールの依存関係を変更することは推奨されません。 サーバが正常に起動しなくなる可能性があります。 -
description モジュール(サービス)の説明を表します。 -
enabled サーバ起動時におけるモジュール(サービス)の起動の可否を表します。
true: ドメイン起動時にサービスを起動する
false: ドメイン起動時にサービスを起動しない
-
is-failure-fatal モジュール(サービス)の起動失敗時におけるサーバの起動継続の可否を表します。
true: サービス起動に失敗した場合はドメイン起動に失敗する
false: サービス起動に失敗してもドメイン起動を行う
-
load-order モジュール(サービス)の起動順序を表します。インストール時に定義されているモジュールの起動順序を変更することは推奨されません。 サーバが正常に起動しなくなる可能性があります。 -
name この管理対象の名前(ライフサイクルモジュール名)を表します。 -
state-order モジュール(サービス)の最終起動状態(どの状態まで起動させるか)を表します。 -

Dottedname : server.java-config

表1.2.2-8
属性名
(attribute-name)
説 明 既定値
bytecode-preprocessors コンマによって分けられた、 "com.nec.webotx.appserv.BytecodePreprocessor" インタフェースをインプリメントしたクラスのリスト。
指定された各プリプロセッサクラスは指定された順に呼ばれます。
null
debug-enabled trueの場合、サーバはJPDAベースのデバッガを利用したデバッグモードで起動します。 false
debug-options JPDA (Java Platform Debugger Architecture)オプションを指定します。利用可能なデバッグオプションは以下にあります。
http://java.sun.com/products/jpda/doc/conninv.html#Invocation
-Xdebug
-Xrunjdwp:
transport=dt_socket,
server=y, suspend=n,
address=4004
env-classpath-ignored Falseのとき、CLASSPATH環境変数はWebOTX アプリケーションサーバクラスパスに読み込まれ追加されます。CLASSPATH環境変数はクラスパスの最後に追加されます。
開発環境では、この値はfalseに設定してください。本番環境では、環境変数の副作用を防ぐためtrueに設定してください。
true
gc-logfile GC情報の出力先ログファイルを指定します。 -
heap-size 初期Javaヒープサイズを指定します。 64m
java-home Javaインストールディレクトリです。 ${com.nec.webotx.javaRoot}
javac-options アプリケーション配備時にJavaコンパイラに渡すオプションを指定します。 -g
jvm-options JVMオプションを指定します。 null
max-heap-size 最大Javaヒープサイズを指定します。 512m
max-perm-size 最大Javaパーマネントサイズを指定します。 192m
native-library-path-prefix ネイティブライブラリパスのプレフィクスを指定します。
ネイティブライブラリパスはそのネイティブ共通ライブラリ、標準JREネイティブライブラリパス、シェル環境変数設定(UNIXのLD_LIBRARY_PATH)、profiler要素に設定されたパスに対してアプリケーションサーバのインストール相対パスをもとに自動的に構築されます。パスが作られた後は、サーバ設定内で明示的に現れません。
なお、パスを複数指定する場合は、OSによって指定方法が異なります。

Windows系OS: <Path1>;<Path2>;…;<PathX>
UNIX系OS:    <Path1>:<Path2>:…:<PathX>

パスの区切り文字が";"(セミコロン)と":"(コロン)とで異なりますので注意して下さい。
null
native-library-path-suffix ネイティブライブラリパスのサフィックスを指定します。
なお、パスを複数指定する場合は、OSによって指定方法が異なります。

Windows系OS: <Path1>;<Path2>;…;<PathX>
UNIX系OS:    <Path1>:<Path2>:…:<PathX>

パスの区切り文字が";"(セミコロン)と":"(コロン)とで異なりますので注意して下さい。
null
perm-size 初期Javaパーマネントサイズを指定します。 64m
rmic-command-maxlength EJBの配備の際に実行される RMIコンパイラのjavaコマンドドラインの最大長を指定します。これはWindowsの場合のみ有効です。rmicコンパイラにはアプリケーションに含まれるEJBの全ホーム、リモートインタフェースクラス名がパラメータとして指定されますが、インタフェース数が多い場合、コマンドラインの長さが非常に長くなり、Windowsの場合に RMIコンパイラを実行するjavaの起動が失敗することがあります。このためrmicを起動するコマンドラインの長さがこの設定値を超える場合、rmicコンパイルするインタフェースの数を減らしてコマンドラインの長さが設定値に収まるようにrmicの実行を分割して行ないます。 null
rmic-java-options EJBの配備の際に実行される RMIコンパイラのjavaコマンドに指定されるオプションを指定します。例えばrmicの実行がOutOfMemoryErrorで失敗する場合は、-Xmxオプションでヒープサイズを拡張します。 null
rmic-options アプリケーション配備時にRMIコンパイラに渡されるオプションを指定します。-keepgeneratedオプションはスタブやtieの生成されたソースを保存します。
rmicコマンドの詳細は以下を参照してください。
http://java.sun.com/j2se/1.4.2/docs/tooldocs/solaris/rmic.html
null
rmic-enable RMICを実行するとDynamic RMI-IIOPが無効化されます。 false
server-classpath サーバのクラスパスを指定します。
このクラスパスは共通クラスローダのクラスパスに追加されます。
なお、クラスパスを複数指定する場合は、OSによって指定方法が異なります。

Windows系OS: <Path1>;<Path2>;…;<PathX>
UNIX系OS:    <Path1>:<Path2>:…:<PathX>

パスの区切り文字が";"(セミコロン)と":"(コロン)とで異なりますので注意して下さい。
null
system-classpath サーバのシステムクラスローダのクラスパスを指定します。
このクラスパスは
System.getProperty("java.class.path")を使用してアクセスします。
なお、クラスパスを複数指定する場合は、OSによって指定方法が異なります。

Windows系OS: <Path1>;<Path2>;…;<PathX>
UNIX系OS:    <Path1>:<Path2>:…:<PathX>

パスの区切り文字が";"(セミコロン)と":"(コロン)とで異なりますので注意して下さい。
null
system-jvm-options システム JVM オプションを指定します。 (※1)を参照してください
verbose-gc-enabled チェックするとJVM動作中に発生するGC情報を出力します。 false
wscompile-options wscompileコンパイラオプションを指定します。 -g

(※1) system-jvm-optionsの既定値

Dottedname : server.log-service

表1.2.2-9
属性名
(attribute-name)
説 明 既定値
alloc-console コンソール出力の有無を指定します。 false
err-file 標準エラーログファイルを変更する時ファイル名を指定します。 ${com.nec.webotx.instanceRoot}/logs/server_err.log
file ログファイルを変更する時ファイル名指定します。 ${com.nec.webotx.instanceRoot}/logs/server.log
log-filter ログフィルタを指定します。 null
log-handler ログハンドラを指定します。 null
log-rotation-generations ログ(server.log)のローテーション世代数を指定します。 3
log-rotation-limit-in-bytes ログ(server.log)のローテーションサイズ(単位:byte)を指定します。 2000000
log-to-console コンソールへのログ出力の有無を指定します。 false

Dottedname : server.log-service.module-log-levels

表1.2.2-10
属性名
(attribute-name)
説 明 既定値
admin Adminモジュールのログレベルを設定します。 CONFIG
admin-assistant Admin assistantモジュールのログレベルを設定します。 CONFIG
downloaderManagerService DownloaderManagerServiceモジュールのログレベルを設定します。 CONFIG
chdl CHDLモジュールのログレベルを設定します。 CONFIG
core Server Coreモジュールのログレベルを設定します。 CONFIG
deployment Deploymentモジュールのログレベルを設定します。 CONFIG
ejb-container EJB Containerモジュールのログレベルを設定します。 CONFIG
jaxr JAXRモジュールのログレベルを設定します。 CONFIG
jaxrpc JAXRPCモジュールのログレベルを設定します。 CONFIG
jaxws JAXWSモジュールのログレベルを設定します。 CONFIG
jdbc-datasource JDBC Data Sourceモジュールのログレベルを設定します。 CONFIG
jms-client JMS Clientモジュールのログレベルを設定します。 CONFIG
jmx-remote-access JMX Remote Accessモジュールのログレベルを設定します。 CONFIG
jndi JNDIモジュールのログレベルを設定します。 CONFIG
jndi-service JNDI Serviceモジュールのログレベルを設定します。 CONFIG
jta JTAモジュールのログレベルを設定します。 CONFIG
oadj OADJモジュールのログレベルを設定します。 CONFIG
objectbroker Object Brokerモジュールのログレベルを設定します。 CONFIG
objectbrokerjava-lib Object Broker Java Libraryモジュールのログレベルを設定します。 CONFIG
objectbrokerjava-msg Object Broker Java Messageモジュールのログレベルを設定します。 CONFIG
process-conductor Process Conductorモジュールのログレベルを設定します。 CONFIG
saaj SAAJモジュールのログレベルを設定します。 CONFIG
security Securityモジュールのログレベルを設定します。 CONFIG
service-repogitory Service Repogisotryモジュールのログレベルを設定します。 CONFIG
tpmonitormanager TP Monitor Managerモジュールのログレベルを設定します。 CONFIG
transactionservice Transaction Serviceモジュールのログレベルを設定します。 CONFIG
wdc Working Domain Cordinatorのログレベルを設定します。 CONFIG
web-container Web Containerモジュールのログレベルを設定します。 CONFIG
webserver Web Serverモジュールのログレベルを設定します。 CONFIG
wsrm Web Services Reliable Messagingのログレベルを設定します。 CONFIG

Dottedname : server.log-service.log-file-config

表1.2.2-11
属性名
(attribute-name)
説 明 既定値
ADMINFILELOGMaxBackupIndex webotx_admin.logの世代数を指定します。 1
ADMINFILELOGMaxFileSize webotx_admin.logの最大ファイルサイズを指定します。 100KB
BPLOGMaxBackupIndex bizbp_engine.logの世代数を指定します。 1
BPLOGMaxFileSize bizbp_engine.logの最大ファイルサイズを指定します。 100KB
CHDLFILELOGMaxBackupIndex webotx_chdl.logの世代数を指定します。 1
CHDLFILELOGMaxFileSize webotx_chdl.logの最大ファイルサイズを指定します。 100KB
DEPLOYFILELOGMaxBackupIndex webotx_deploy.logの世代数を指定します。 1
DEPLOYFILELOGMaxFileSize webotx_deploy.logの最大ファイルサイズを指定します。 100KB
EJBCONTAINERFILELOGMaxBackupIndex webotx_ejbcont.logの世代数を指定します。 1
EJBCONTAINERFILELOGMaxFileSize webotx_ejbcont.logの最大ファイルサイズを指定します。 100KB
FILELOGMaxBackupIndex webotx_agent.logの世代数を指定します。 2
FILELOGMaxFileSize webotx_agent.logの最大ファイルサイズを指定します。 1MB
JMXREMOTEACCESSLOGMaxBackupIndex agent_access.logの世代数を指定します。 1
JMXREMOTEACCESSLOGMaxFileSize agent_access.logの最大ファイルサイズを指定します。 100KB
JNDISPFILELOGMaxBackupIndex webotx_jndisp.logの世代数を指定します。 1
JNDISPFILELOGMaxFileSize webotx_jndisp.logの最大ファイルサイズを指定します。 100KB
NAMINGFILELOGMaxBackupIndex webotx_naming.logの世代数を指定します。 1
NAMINGFILELOGMaxFileSize webotx_naming.logの最大ファイルサイズを指定します。 100KB
OSPIFILELOGMaxBackupIndex webotx_ospi.logの世代数を指定します。 1
OSPIFILELOGMaxFileSize webotx_ospi.logの最大ファイルサイズを指定します。 100KB
OSPIJLIBFILELOGMaxBackupIndex objava.logの世代数を指定します。 1
OSPIJLIBFILELOGMaxFileSize objava.logの最大ファイルサイズを指定します。 1MB
SECURITYFILELOGMaxBackupIndex webotx_security.logの世代数を指定します。 1
SECURITYFILELOGMaxFileSize webotx_security.logの最大ファイルサイズを指定します。 100KB
SERVICEREPOSITORYLOGMaxBackupIndex webotx_srep.logの世代数を指定します。 1
SERVICEREPOSITORYLOGMaxFileSize webotx_srep.logの最大ファイルサイズを指定します。 100KB
TPMMGRFILELOGMaxBackupIndex webotx_tpmmgr.logの世代数を指定します。 1
TPMMGRFILELOGMaxFileSize webotx_tpmmgr.logの最大ファイルサイズを指定します。 100KB
TSFILELOGMaxBackupIndex webotx_ts.logの世代数を指定します。 1
TSFILELOGMaxFileSize webotx_ts.logの最大ファイルサイズを指定します。 100KB
WDCFILELOGMaxBackupIndex wowdc.logの世代数を指定します。 1
WDCFILELOGMaxFileSize wowdc.logの最大ファイルサイズを指定します。 100KB
WEBCONTAINERFILELOGMaxBackupIndex webotx_webcont.logの世代数を指定します。 1
WEBCONTAINERFILELOGMaxFileSize webotx_webcont.logの最大ファイルサイズを指定します。 100KB
WEBSVFILELOGMaxBackupIndex webotx_websv.logの世代数を指定します。 1
WEBSVFILELOGMaxFileSize webotx_websv.logの最大ファイルサイズを指定します。 100KB
WOJDBCFILELOGMaxBackupIndex webotx_wojdbc.logの世代数を指定します。 1
WOJDBCFILELOGMaxFileSize webotx_wojdbc.logの最大ファイルサイズを指定します。 512KB
WOJMSFILELOGMaxBackupIndex webotx_wojms.logの世代数を指定します。 1
WOJMSFILELOGMaxFileSize webotx_wojms.logの最大ファイルサイズを指定します。 512KB
WOJTAFILELOGMaxBackupIndex webotx_wojta.logの世代数を指定します。 1
WOJTAFILELOGMaxFileSize webotx_wojta.logの最大ファイルサイズを指定します。 512KB
WSFILELOGMaxBackupIndex webservice.logの世代数を指定します。 1
WSFILELOGMaxFileSize webservice.logの最大ファイルサイズを指定します。 100KB
WSRMFILELOGMaxBackupIndex wsrm.logの世代数を指定します。 1
WSRMFILELOGMaxFileSize wsrm.logの最大ファイルサイズを指定します。 512KB

Dottedname : server.monitoring-service.module-monitoring-levels

表1.2.2-12
属性名
(attribute-name)
説 明 既定値
connector-connection-pool コネクションプールのモニタリングレベル
OFF: モニタリングしない
LOW: 概要レベルでモニタリングする
HIGH: 詳細レベルでモニタリングする
OFF
connector-service コネクタサービスのモニタリングレベルを指定します。
OFF: モニタリングしない
LOW: 概要レベルでモニタリングする
HIGH: 詳細レベルでモニタリングする
OFF
ejb-container EJBコンテナのモニタリングレベルを指定します。
OFF: モニタリングしない
LOW: 概要レベルでモニタリングする
HIGH: 詳細レベルでモニタリングする
OFF
http-service HTTPサービスのモニタリングレベルを指定します。
OFF: モニタリングしない
ON: モニタリングする
OFF
jdbc-datasource JDBCデータソースのモニタリングレベルを指定します。
OFF: モニタリングしない
ON: モニタリングする
OFF
transaction-service トランザクションサービスのモニタリングレベルを指定します。
OFF: モニタリングしない
LOW: 概要レベルでモニタリングする
HIGH: 詳細レベルでモニタリングする
OFF
web-container Webコンテナのモニタリングレベルを指定します。
OFF: モニタリングしない
ON: モニタリングする
OFF
jms-service jms serviceのモニタリングレベルを指定します。
OFF: モニタリングしない
ON: モニタリングする
OFF
jvm JVMのモニタリングレベルを指定します。
OFF: モニタリングしない
LOW: 概要レベルでモニタリングする
HIGH: 詳細レベルでモニタリングする
OFF
deployment 配備のモニタリングレベルを指定します。
OFF: モニタリングしない
LOW: 概要レベルでモニタリングする
HIGH: 詳細レベルでモニタリングする
OFF
security セキュリティのモニタリングレベルを指定します。
OFF: モニタリングしない
ON: モニタリングする
OFF

Dottedname : server.security-service

表1.2.2-13
属性名
(attribute-name)
説 明 既定値
anonymous-role defaultとanonymousロールに使用されるロール名を指定します。 ANYONE
audit-enabled 監査の有無を指定します。 false
audit-modules 監査モジュールプロバイダを指定します。 default
default-realm デフォルトレルムを指定します。 file
jacc JACCプロバイダを指定します。 default

Dottedname : server.security-service.audit-module.default

表1.2.2-14
属性名
(attribute-name)
説 明 既定値
classname この監査モジュールを実装しているJavaクラスを指定します。 com.nec.webotx.enterprise.security.Audit
name 監査モジュールの名前です。 default

Dottedname : server.security-service.auth-realm.admin-realm

表1.2.2-15
属性名
(attribute-name)
説 明 既定値
classname このレルムを実装するJavaクラスを指定します。 com.nec.webotx.enterprise.security.auth. realm.file.FileRealm
name このレルムの名前を指定します。 admin-realm

Dottedname : server.security-service.auth-realm.certificate

表1.2.2-16
属性名
(attribute-name)
説 明 既定値
classname このレルムを実装するJavaクラスを指定します。 com.nec.webotx.enterprise.security.auth. realm.certificate.CertificateRealm
name このレルムの名前を指定します。 certificate

Dottedname : server.security-service.auth-realm.file

表1.2.2-17
属性名
(attribute-name)
説 明 既定値
classname このレルムを実装するJavaクラスを指定します。 com.nec.webotx.enterprise.security.auth. realm.file.FileRealm
name このレルムの名前を指定します。 file

Dottedname : server.security-service.jacc-provider.default

表1.2.2-18
属性名
(attribute-name)
説 明 既定値
name JACCプロバイダ名を指定 default
policy-configuration-factory-provider 任意のポリシ設定を適用します。これは、システムプロパティ javax.security.jacc.PolicyConfigurationFactory.provider によって指定されるポリシ設定と置き換えられます。 デフォルト指定の com.sun.enterprise.security.provider. PolicyConfigurationFactoryImpl は、ポリシ設定である PolicyConfiguration 実装オブジェクトを得るためのファクトリクラスです。 com.sun.enterprise.security.provider. PolicyConfigurationFactoryImpl
policy-provider 任意のポリシプロバイダを適用します。これは、システムプロパティ javax.security.jacc.policy.provider によって指定されるプロバイダと置き換えられます。 デフォルト指定の com.sun.enterprise.security.provider. PolicyWrapper は、デフォルトのJDKポリシーファイルを扱うためのプロバイダクラスです。 com.sun.enterprise.security.provider. PolicyWrapper

Dottedname : server.diagnostic-service

表1.2.2-19
属性名
(attribute-name)
説 明 既定値
applications trueの場合に、診断対象ドメインの配備アプリケーションに関する情報を、診断レポートに含めます。
trueの場合、次の項目が収集可能となります:
  applications-dir
  applications-generated-all
  applications-generated-dir
  applications-excludes
  applications-includes
true
applications-dir trueの場合に、診断対象ドメインの配備記述子を、診断レポートに含めます。 applicationsがtrueのときのみ選択可能となります。
対象となるファイル : 診断対象ドメインのapplicationsディレクトリ配下のXMLファイル
true
applications-excludes 記入された診断対象ドメインのapplicationsディレクトリと、generatedディレクトリ配下のファイルを除外します。 null
applications-generated-all trueの場合に、診断対象ドメインのgeneratedディレクトリ配下の全ファイルを、診断レポートに含めます。 applicationsがtrueのときのみ選択可能となります。
対象となるファイル : 診断対象ドメインのgeneratedディレクトリ配下の全ファイル
false
applications-generated-dir trueの場合に、診断対象ドメインのgeneratedディレクトリ配下の一部のファイルを、診断レポートに含めます。 applicationsがtrueのときのみ選択可能となります。
対象となるファイル : 診断対象ドメインのgeneratedディレクトリ配下のxmlディレクトリ、policyディレクトリ
true
applications-includes 記入された診断対象ドメインのapplicationsディレクトリと、generatedディレクトリ配下のファイルを収集します。 null
config trueの場合に、診断対象ドメインの設定に関する情報を、診断レポートに含めます。
trueの場合、次の項目が収集可能となります:
  config-domain
  config-dir
  config-persistent-mbean
  config-tpsystem-all
  config-tpsystem-file
  config-excludes
  config-includes
true
config-dir trueの場合に、診断対象ドメインのconfig ディレクトリ配下の全ファイルを、診断レポートに含めます。 ただしtpsystem、persistent-mbeanディレクトリを除きます。 configがtrueのときのみ選択可能となります。
対象となるファイル : 診断対象ドメインのconfigディレクトリ配下の全ファイル
true
config-domain trueの場合に、ドメインの設定ファイルを、診断レポートに含めます。 configがtrueのときのみ選択可能となります。
対象となるファイル : domain.xml
true
config-excludes 記入された診断対象ドメインの、configディレクトリ配下のファイルを除外します。 null
config-includes 記入された診断対象ドメインの、configディレクトリ配下のファイルを収集します。 null
config-persistent-mbean trueの場合に、診断対象ドメインのconfigディレクトリ配下のpersistent-mbeanディレクトリを、診断レポートに含めます。 configがtrueのときのみ選択可能となります。
対象となるファイル : 診断対象ドメインのconfigディレクトリ配下のpersistent-mbeanディレクトリ
false
config-tpsystem-all trueの場合に、診断対象ドメインのconfigディレクトリ配下のtpsystemディレクトリ配下全てを、診断レポートに含めます。 configがtrueのときのみ選択可能となります。
対象となるファイル : 診断対象ドメインのconfigディレクトリ配下のtpsystemディレクトリ配下全て
false
config-tpsystem-file trueの場合に、診断対象ドメインのconfigディレクトリ配下のtpsystemディレクトリ直下のファイルを、診断レポートに含めます。 configがtrueのときのみ選択可能となります。
対象となるファイル : 診断対象ドメインのconfigディレクトリ配下のtpsystemディレクトリ直下のファイル
true
includes 絶対パスで指定されたディレクトリまたはファイルを収集します。 null
install trueの場合に、WebOTX AS のインストールに関する情報を、診断レポートに含めます。
trueの場合、次の項目が収集可能となります:
  install-ant-setup
  install-asenv
  install-woasinfo
  install-env
  install-info
  install-file-list
true
install-asenv trueの場合に、WebOTX AS の設定ファイルを、診断レポートに含めます。 installがtrueのときのみ選択可能となります。
対象となるファイル : asenv.bat, asenv.conf
true
install-ant-setup trueの場合に、、WebOTX AS インストール時のログを、診断レポートに含めます。 installがtrueのときのみ選択可能となります。
対象となるファイル : ant_setup.log
true
install-env trueの場合に、OSの環境変数を、診断レポートに含めます。 installがtrueのときのみ選択可能となります。
対象となるファイル : env.txt
true
capture-file-list trueの場合に、WebOTX ASインストールディレクトリ配下のファイル一覧を、診断レポートに含めます。 installがtrueのときのみ選択可能となります。
対象となるファイル : otxlist.txt
false
install-info trueの場合に、WebOTX AS に関する情報を、診断レポートに含めます。 installがtrueのときのみ選択可能となります。
対象となるファイル : otxinfo.txt (WebOTXのエディション、バージョン、パッチ)
true
install-woasinfo trueの場合に、WebOTX Agent Service の設定ファイルを、診断レポートに含めます。 installがtrueのときのみ選択可能となります。
対象となるファイル : woasinfo.properties
true
jvm trueの場合に、JVMについての情報を、診断レポートに含めます。 trueの場合、次の項目が収集可能となります:
  jvm-memory
  jvm-thread-dump
  jvm-version
true
jvm-memory trueの場合に、JVMのメモリについての情報を、診断レポートに含めます。 jvmがtrueのときのみ選択可能となります。
対象となるファイル : jvmmemory.txt
true
jvm-thread-dump trueの場合に、JVMのスレッドダンプを、診断レポートに含めます。 jvmがtrueのときのみ選択可能となります。
対象となるファイル : threaddump.txt
true
jvm-thread-dump-count JVMのスレッドダンプ取得回数を指定します。    3
jvm-thread-dump-interval JVMのスレッドダンプ取得間隔を指定します。    5
jvm-version trueの場合に、Javaのバージョンについての情報を、診断レポートに含めます。 jvmがtrueのときのみ選択可能となります。
対象となるファイル : javaversion.txt
true
capture-logs trueの場合に、診断対象ドメインのログを、診断レポートに含めます。
trueの場合、次の項目が収集可能となります:
  logs-server
  logs-agent
  logs-dir
  logs-access
  logs-jvm-err
  logs-excludes
  logs-includes
true
logs-access trueの場合に、診断対象ドメインのサーバ、ドメインの運用管理エージェントへのアクセスログを、診断レポートに含めます。 logsがtrueのときのみ選択可能となります。
対象となるファイル : server_access.log、agent_access.log
false
logs-agent trueの場合に、診断対象ドメイン上で動作する各サービスに関するログを、診断レポートに含めます。 capture-logがtrueのときのみ選択可能となります。 true
logs-dir trueの場合に、診断対象ドメインのlogsディレクトリ配下の全ファイルを、診断レポートに含めます。 logsがtrueのときのみ選択可能となります。
対象となるファイル : 診断対象ドメインのlogsディレクトリ配下の全ファイル
false
logs-exclude 記入された診断対象ドメインのlogsディレクトリ配下のファイルを除外します。 null
logs-includes 記入された診断対象ドメインのlogsディレクトリ配下のファイルを収集します。 null
logs-hs-err trueの場合に、JVMが出力するエラーログファイルを、診断レポートに含めます。 logsがtrueのときのみ選択可能となります。
対象となるファイル : hs_err_pid(プロセスID).log
true
logs-period 収集する WebOTX AS ログの対象期間を指定します。(単位:時間) 72
logs-server trueの場合に、標準出力、標準エラー出力に関するログを、診断レポートに含めます。 logsがtrueのときのみ選択可能となります。
対象となるファイル : server.log、server_err.log
true
monitoring trueの場合に、モニタリング情報を、診断レポートに含めます。
trueの場合、次の項目が収集可能となります:
  monitoring-info
true
monitoring-info trueの場合に、モニタリング情報を、診断レポートに含めます。
対象となるファイル : monitorinfo.txt
true
system trueの場合に、オペレーティングシステムの情報を、診断レポートに含めます。
trueの場合、次の項目が収集可能となります:
  system-os-summary
  system-memory
  system-disk
  system-process
  system-network
  system-kernel
  system-sharememory
true
system-disk trueの場合に、ディスクの使用状況を、診断レポートに含めます。 systemがtrueのときのみ選択可能となります。
対象となるファイル : osinfo.txt (ディスクの総量、空き容量、使用可能量、ファイルシステム)
true
system-kernel trueの場合に、カーネル情報を、診断レポートに含めます。 systemがtrueのときのみ選択可能となります。
対象となるファイル : kernel.txt
true
system-memory trueの場合に、メモリの使用状況を、診断レポートに含めます。 systemがtrueのときのみ選択可能となります。
対象となるファイル : osinfo.txt (物理メモリ、仮想メモリ)
true
system-network trueの場合に、起動している接続のリストを、診断レポートに含めます。 systemがtrueのときのみ選択可能となります。
対象となるファイル : osinfo.txt (プロトコル、ローカルアドレス、外部アドレス、状態)
true
system-os-summary trueの場合に、OSの概要を、診断レポートに含めます。 systemがtrueのときのみ選択可能となります。
対象となるファイル : osinfo.txt (OS名、バージョン、CPU)
true
system-process trueの場合に、プロセス一覧を、診断レポートに含めます。 capture-system-infoがtrueのときのみ選択可能となります。
対象となるファイル : osinfo.txt (プロセス名、プロセスID)
true
system-sharememory trueの場合に、共有メモリの状況を、診断レポートに含めます。 capture-system-infoがtrueのときのみ選択可能となります。
対象となるファイル : sharememory.txt
true
faultWatchInterval 障害を監視する間隔を指定します。(単位:秒) 60
faultVerificationTime 最初の障害発生からプロセス全体の障害とみなすまでに、使用されない動作スレッドの数と負荷を検証するための時間を指定します。(単位:秒) 300
reduceThreadsRate 負荷を下げるためにリクエストの割当を中断するスレッド数の割合を指定します。 20
recoveryVerificationTime 負荷を下げるための待ち合わせおよびリクエストの割当中断による障害からの回復を図る時間を指定します。(単位:秒) 300
recoveryWaitTime 負荷を下げるためにリクエスト終了後に待ち合わせを行う時間を指定します。(単位:秒) 1
(V9.20/V9.21の既定値は5です。V9.22で1に変更しました。)
dumpStackTraceCount 障害確定前に該当スレッドのスタックトレースを連続して採取する回数を指定します。 1
processAbnormallyEnd trueを指定すると、障害とみなされた場合に業務プロセスを異常終了させます。 false
normalResponseTime 正常とみなすリクエストの応答時間を指定します。(単位:秒) 20
faultResponseTime 障害とみなすリクエストの応答時間を指定します。(単位:秒) 40
faultFreeThreadsRate 障害とみなす未使用スレッド数の割合を指定します。 10
abortResponseTime スローダウンの検出に伴いプロセスを再起動するまでの監視時間を指定します。(単位:秒) 1200
dumpThreadDumpCount 障害確定後にスレッドダンプを連続して採取する回数を指定します。 3
ignorableRequests 障害監視の対象外とするリクエスト名のリストを指定します。
memoryWatchInterval 正常時のメモリ使用量の監視間隔を指定します。(単位:秒) 600
faultMemoryUsageHMK フェイルセーフ処理を開始するためのメモリ使用率の閾値を指定します。(単位:%) 90
faultMemoryUsageLMK 障害監視間隔でメモリ使用量の計測を開始するためのメモリ使用率の閾値を指定します。(単位:%) 85
dumpHeapDumpType 障害確定後に採取するヒープダンプの種類を指定します。次の2つから選択可能です。
・hprof : hprof形式(バイナリ)
・histogram : クラスヒストグラム(テキスト)
hprof
customSettingsCORBA 配備しているCRBAアプリケーションに対する個別の設定を指定します。設定はアプリケーションの操作から実行してください。 なし
customSettingsJava 配備しているJavaEEアプリケーションに対する個別の設定を指定します。設定はアプリケーションの操作から実行してください。 なし
customSettingsProcessGroup 特定のアプリケーショングループ/プロセスグループに対する個別の設定を指定します。設定は、アプリケーショングループ/プロセスグループの操作から実行してください なし
customSettingsURL WebアプリケーションのURLを指定します。特定のURLに対して個別の設定を行ないたい場合、本設定を追加してください。(指定例)<URL>.<設定名>=<設定値> なし

Dotted-name:server.diagnostic-service.statistics-report

表1.2.2-20
属性名
(attribute-name)
説 明 既定値
enabled
(統計レポート機能の有効化)
統計レポート機能を有効化します。
この設定はエージェントプロセスとプロセスグループの両方に反映されます。
false
output-interval
(出力間隔)
統計情報レポートの出力間隔(分)を設定します。
この設定はエージェントプロセスとプロセスグループの両方に反映されます。
60
max-filesize
(最大ファイルサイズ)
出力ファイルの最大ファイルサイズを設定します。
この設定はエージェントプロセスとプロセスグループの両方に反映されます。
1MB
max-backup-index
(出力ファイルの最大バックアップ世代数)
出力ファイルの最大バックアップ世代数を設定します。
この設定はエージェントプロセスとプロセスグループの両方に反映されます。
1
agent-statistics-enabled
(エージェントの統計レポート出力)
統計レポートが有効化されている時、エージェントプロセスをレポート出力対象にします。 true

1.3. HTTPサーバ

WebOTX では、Javaベースの内蔵Webサーバのほかに、ApacheベースのWebサーバ (以降「WebOTX Webサーバ」と記載します)をバンドルしています。 WebOTX Webサーバは、インストール時の指定によりVer2.2 (Apache HTTP Server 2.2 ベース)を選択してインストールすることができます。

WebOTXでは、その他に利用可能なWebサーバとして、IIS/Apache などの外部Webサーバをサポートしています。

WebOTX AS Express インストール時のデフォルト設定は、Javaベースの内蔵Webサーバを利用し、 WebOTX AS Standard/Enterprise インストール時のデフォルト設定は、WebOTX Webサーバを利用します。 WebOTX にバンドルされたWebサーバを利用する場合、インストール後に設定する項目は 特にありません。 外部Webサーバを利用する場合には、インストール後に「環境設定ツール」を起動し、外部Webサーバとの連携設定を行う必要があります。

1.3.1. Javaベース内蔵Webサーバ設定方法

項目の設定

Javaベースの内蔵Webサーバの設定方法については、次の2通りがあります。

Webコンテナ管理コンソールによる設定

Webコンテナの運用管理コンソールの「コネクタ」項目で、Javaベースの内蔵Webサーバの設定ができます。コネクタの「種類」が"HTTP"と表示されているものが内蔵Webサーバです。詳細は「1.4. Webコンテナ」を参照してください。

MOによる参照と設定

Javaベースの内蔵Webサーバの設定は、WebコンテナのMOを介してもアクセス可能です。対象となる MO の Dottedname は「server.http-service.http-listener.http-listener-name」です。属性 protocol の値が "HTTP/1.1" となっているものが内蔵Webサーバです。詳細は「1.4. Webコンテナ」を参照してください。

1.3.1.1. SSL通信の設定方法

詳細は「1.15. 共通SSL設定」を参照してください。

※内蔵WebサーバのCoyoteコネクタを使用する場合はSSL通信が可能ですが、Grizzlyコネクタを使用する場合はhttps通信のみサポートしており、SSL通信は利用することができません。

1.3.2. WebOTX Webサーバ設定方法

ここでは、WebOTXで利用するWebサーバとして、「WebOTX Webサーバ」を利用する場合の設定方法について記載します。その他の外部Webサーバを利用する場合については、「1.3.3. 外部Webサーバ設定方法」項目を参照してください。

WebOTXの運用管理コマンドでは、WebOTX Webサーバの定義情報の変更/参照およびWebサーバの起動/停止ができます。また、従来どおり定義情報ファイル (httpd.conf)をエディタで編集して、定義情報の更新することもできます。

なお、 Javaベースの内蔵Webサーバの設定については、「1.4. Webコンテナ」を参照してください。

項目の設定

WebOTX Webサーバの定義情報を設定(変更)するには、otxadmin コマンドを利用するか、WebOTX Webサーバの定義情報ファイル(httpd.conf) を直接編集します。

>otxadmin set --user admin --password adminadmin server.WebServer.属性名=設定値

${INSTANCE_ROOT}/config/WebServer/httpd.conf

設定項目の詳細については、ApacheのマニュアルまたはWebサイトを参照してください。

例えば、WebOTX Webサーバが利用するポート番号を80番から8080番に変更する場合には、 次の方法を利用します。

otxadmin コマンド利用時
>otxadmin set --user admin --password adminadmin server.WebServer.port=8080

httpd.conf 直接編集時
  #Listen 80
  Listen 8080

SSL(HTTPS)通信用の設定について

HTTPS通信を行うには、SSL通信用のモジュールのインストールと、次節のMO設定においてSSL通信を行うかどうかの設定 (security_enabled )を、「有効」(ture)に設定する必要があります。

>otxadmin set --user admin --password adminadmin server.WebServer.security-enabled=true

なお、SSL(HTTPS)通信に関する定義情報を変更する場合は

${INSTANCE_ROOT}/config/WebServer/ssl.conf

の設定項目を変更する必要があります。

詳細については、マニュアルの「注意制限事項」「Webサーバ」「SSL(HTTPS)通信について」を参照してください。

1.3.2.1. MOで設定可能な項目一覧

以下はMOから設定可能なWebOTX Webサーバの定義情報項目の一覧です。

各定義情報は、${INSTANCE_ROOT}/config/WebServer/httpd.conf または${INSTANCE_ROOT}/config/WebServer/ssl.conf を直接編集することでも変更可能です。

Dottedname : server.WebServer

表1.3.2.1-1
属性名
(attribute-name)
説 明 http.confの
指示子
既定値
serverroot HTTPサーバが動作するルートディレクトリ
参照のみ可能です
ServerRoot ${INSTANCE_ROOT}
conf-file 定義情報ファイル(httpd.conf)のパス
参照のみ可能です
(MOでのみ参照) ${INSTANCE_ROOT}/config/
WebServer/httpd.conf
port HTTPサーバが利用するポート番号 Listen 80
Version HTTPサーバのバージョン情報
参照のみ可能です
(MOでのみ参照) 2.2.25
ServerName HTTPサーバのサーバ名
参照のみ可能です
ServerName localhost
DocumentRoot ブラウザが表示するルートディレクトリ
参照のみ可能です
DocumentRoot ${INSTANCE_ROOT}/docroot
ErrorLog HTTPサーバのエラーログ ErrorLog ${INSTANCE_ROOT}/logs/
web/error.log
MaxClients 最大同時接続クライアント数 (Windows)
ThreadsPerChild
250
(UNIX)MaxClients 150
security-enabled SSL(HTTPS)通信を行うかどうか false
ssl-conf-file SSL用の定義ファイル
参照のみ可能です
(MOでのみ参照) ${INSTANCE_ROOT}/config/
WebServer/ssl.conf
ssl-port SSL用のポート Listen
(ssl.conf)
443


1.3.2.2. 定義情報ファイル

WebOTX Webサーバの定義情報は、定義情報ファイル(httpd.conf)に格納され、WebOTX Webサーバ起動時に読み込まれます。

定義情報ファイルは、WebOTX のドメイン毎に格納されるため、ドメイン毎に 定義情報を変更する必要があります。

定義情報を更新した場合には、WebOTX Webサーバの再起動が必要になります。

格納場所
  ${INSTANCE_ROOT}/config/WebServer/httpd.conf

なお、SSL通信用ライブラリをインストールした場合、SSL設定に関する 定義情報は、ssl.confファイルに格納されます。

SSL通信で利用するポート番号や証明書/秘密鍵ファイルを設定/変更する場合、 このファイルに定義された情報を変更する必要があります。

格納場所
  ${INSTANCE_ROOT}//config/WebServer/ssl.conf

1.3.2.3. 基本定義

ここでは、WebOTX Webサーバが動作するために必要となる定義情報について 説明します。
定義情報ファイルには、次の定義が最低でも含まれている必要があります。

1.3.2.3.1. ServerRoot
表1.3.2.3-1
名前 ServerRoot
説明 WebOTX Webサーバが動作するために必要となるディレクトリを設定します。 この値は既定値以外の値に変更することはありません。
書式 ServerRoot directory-path
設定例
(既定値)
(Windows)
 ServerRoot "C:/WebOTX/domains/domain1"

(UNIX)
 ServerRoot /opt/WebOTX/domains/domain1
1.3.2.3.2. Listen
表1.3.2.3-2
名前 Listen
説明 WebOTX Webサーバが利用するリクエスト受付用のポート番号を指定します。 Listen 指示子は、 ポート番号だけを設定する 方法と、IPアドレスとポート番号を一緒に設定する方法があります。
UNIX 版において、インストール時に「WebOTX 運用ユーザを利用する」を指定した 場合、1024 以下のポート番号を設定することはできません。
書式 Listen [IPアドレス:]port
Port port
設定例

(ポート番号 8080 を利用する場合の設定)
  Listen 8080

(特定のIPアドレスに対して待ち合わせを行う場合の設定)
  Listen 192.168.0.1:80

(IPv4アドレスとIPv6アドレスで同一のポート番号を 指定する場合の設定)
  Listen 0.0.0.0:80
  Listen [::]:80

1.3.2.3.3. User/Group
表1.3.2.3-3
名前 User
Group
説明 (UNIXでのみ有効)
User/Group 指示子は UNIX 版においてのみ有効です。 WebOTX Webサーバがリクエストに応答する際に用いる ユーザID および グループID を指定します。
WebOTX Application Server のインストール時に「WebOTX 運用ユーザ」を 利用する選択をした場合には、この設定値を「WebOTX 運用ユーザ」に変更する 必要があります。
書式 User unix-user-id
Group unix-group-id
設定例 User otxadmin
Group otxadm
1.3.2.3.4. DocumentRoot
表1.3.2.3-4
名前 DocumentRoot
説明 ブラウザが WebOTX Webサーバ にアクセスした場合の ルートディレクトリを指定します
書式 DocumentRoot directory-path
設定例
(既定値)
(Windows)
  DocumentRoot "C:/WebOTX/domains/domain1/docroot"

(UNIX)
  DocumentRoot /opt/WebOTX/domains/domain1/docroot
1.3.2.3.5. ErrorLog
表1.3.2.3-5
名前 ErrorLog
説明 WebOTX Webサーバ の内部で発生したエラー情報を記録する ファイル名を指定します。
書式 ErrorLog errorlog-path
設定例
(既定値)
(Windows)
  ErrorLog logs/web/error.log

(UNIX)
  ErrorLog logs/web/error_log
1.3.2.3.6. LoadModule
表1.3.2.3-6
名前 LoadModule
説明 様々な機能を提供するモジュールをロードし、使用モジュールリストに 追加します。
書式 LoadModule module-name module-path
設定例 (Windows)
  LoadModule ssl_module  "C:/WebOTX/WebServer22/modules/mod_ssl.so"

(UNIX)
  LoadModule ssl_module  /opt/WebOTX/WebServer22/modules/mod_ssl.so

1.3.2.4. サーバ動作に関する設定

ここでは、WebOTX Webサーバの動作プロセス数に関する設定を説明します。

Windows 版は、1つの子プロセス上で複数スレッドが動作し、各スレッド上で クライアントからのリクエストを受け付けます。つまり、1リクエストに対して、 1スレッドが割り当てられます。

UNIX 版は、worker と呼ばれる方式を採用しており、複数の子プロセスが動作し、 さらに、その子プロセス上で複数のスレッドが動作し、各子プロセスのスレッド上 でクライアントからのリクエストを受け付けます。つまり、1リクエストに対して、 1スレッドが割り当てられます。

上記のような動作の違いにより、Windows 版と UNIX 版では、定義内容が 異なります。また、 2.2 でも定義内容が異なる場合があります。
動作プロセスに関連する主な設定は次の指示子となります。

1.3.2.4.1. MaxClients
表1.3.2.4-1
名前 MaxClients
説明 (UNIXでのみ有効)
WebOTX Webサーバが処理できる最大同時接続コネクション数を設定します。 この値はリクエストに応じることのできる全スレッドの総数となります。
クライアントは、この値を超えて同時に接続することはできません。
この値を超えて接続要求がきた場合には、その接続要求は、OS側のListenBackLog キューに保留されます。
書式 MaxClients number
設定例
(既定値)
MaxClients 150
1.3.2.4.2. ThreadsPerChild
表1.3.2.4-2
名前 ThreadsPerChild
説明 Windows版と UNIX版で意味が異なります。
Windows版の場合、プロセス内で動作するスレッド数となり、WebOTX Webサーバが処理できる最大同時接続コネクション数を意味します。
UNIX版の場合、1つのプロセス内で動作するスレッド数を意味します。 UNIX版で本設定値に64以上の値を設定する場合は、ThreadLimit 値も 変更してください。
書式 ThreadsPerChild number
設定例
(既定値)
(Windows)
  ThreadsPerChild 250

(UNIX)
  ThreadsPerChild 25
1.3.2.4.3. MinSpareThreads / MaxSpareThreads
表1.3.2.4-3
名前 MinSpareThreads
MaxSpareThreads
説明 (UNIX)
アイドル状態であるスレッドの最小値、最大値を設定します。 アイドル状態とは、リクエストを処理していない状態の ことです。アイドル状態では、この範囲内に総スレッド数が 収まるように、起動しているプロセス数が常に調整されます。

MaxSpareThreads 以上のリクエストを受け付けると、 超過したリクエストを処理するために子プロセスの起動/停止 処理が行われるので、子プロセスの総数が増減する場合があります。
リクエストの増加により、子プロセスの増減を行いたくない 場合は、この設定値を MaxClinets と同じ値に設定してください。

また、Webサーバ 起動時に MinSpareThreads 以上のスレッドが起動しなかった場合、 通常 MaxClients 以上のリクエストを受けた時に出力される 「server reached MaxClients setting, consider raising the MaxClients setting」 のメッセージが出力される場合があります。 ThreadsPerChild/ThreadLimit/StartServers の値を確認して、 Webサーバ起動時の総スレッド数が MinSpareThreads 以上の値 になるように調整してください。
書式 MinSpareThreads number
MaxSpareThreads number 
設定例
(既定値)
MinSpareThreads 25
MaxSpareThreads 75
1.3.2.4.4. StartServers
表1.3.2.4-4
名前 StartServers
説明 (UNIX でのみ有効)
起動時に生成される子プロセス数を設定します。
なお、mod_cgid モジュールがロードされている場合には、CGIプログラム実行用の 子プロセスがあらかじめ起動するため、総子プロセス数は本設定値+1 となります。
書式 StartServers number 
設定例(既定値) StartServers 2
1.3.2.4.5. ServerLimit / ThreadLimit
表1.3.2.4-5
名前 ServerLimit
ThreadLimit
説明 (UNIX)
子プロセスの上限値(ServerLimit)、子プロセス内で 動作するスレッドの上限値(ThreadLimit)を設定します。
ThreadsPerChild 値に 64以上の値を設定する場合には、 ThreadLimit にもその値以上の値を設定してください。
書式 ServerLimit number
ThreadLimit number
設定例 ServerLimit 16
ThreadLimit 64
1.3.2.4.6. MaxRequestsPerChild
表1.3.2.4-6
名前 MaxRequestsPerChild
説明 個々の子サーバプロセスが稼働中に扱うリクエスト数の 上限を設定します。ここで指定した数のリクエストを受け付けた後で、 その子プロセスは終了します。
0を指定した場合、そのプロセスはリクエスト数の 上限を超えたことにより終了することはありません。
書式 MaxRequestsPerChild number
設定例 MaxRequestsPerChild 0

1.3.2.5. SSL 定義

ここでは SSL通信を行う場合、定義情報ファイルに定義する 主な設定を説明します。
SSLに関する設定は、ssl.confファイルに格納されています。 ssl.confファイルは、SSL通信用パッケージをインストール することで追加されます。

1.3.2.5.1. SSLEngine
表1.3.2.5-1
名前 SSLEngine
説明 SSLを有効にする。通常、<VirtualHost> 内で使用され、特定の仮想ホストに対してSSLを有効にします。
書式 SSLEngine On|Off
設定例 <VirtualHost _default_:443>
  SSLEngine on
  ...
</VirtualHost>
1.3.2.5.2. SSLCertificateFile
表1.3.2.5-2
名前 SSLCertificateFile
説明 SSLで利用するサーバの証明書ファイルを設定します。
書式 SSLCertificateFile path
設定例 SSLCertificateFile /opt/WebOTX/WebServer22/conf/ssl.crt/sample.crt
1.3.2.5.3. SSLCertificateKeyFile
表1.3.2.5-3
名前 SSLCertificateKeyFile
説明 SSLで利用するサーバの秘密鍵ファイルを設定します。
書式 SSLCertificateKeyFile path
設定例 SSLCertificateKeyFile /opt/WebOTX/WebServer22/conf/ssl.key/sample.key
1.3.2.5.4. SSLCACertificateFile
表1.3.2.5-4
名前 SSLCACertificateFile
説明 クライアント認証を行う場合、SSLで利用するクライアントの証明書ファイルを設定します。
書式 SSLCACertificateFile path
設定例 SSLCACertificateFile /opt/WebOTX/WebServer22/conf/ssl.key/client.crt
1.3.2.5.5. SSLVerifyClient
表1.3.2.5-5
名前 SSLVerifyClient
説明 クライアント認証を行う場合、クライアント側での証明書の提示方式を設定します。
書式 SSLVerifyClient level
設定例 (クライアント認証を行わない場合)
  SSLVerifyClient none

(クライアントに有効な証明書を提示させる場合)
  SSLVerifyClient require
1.3.2.5.6. SSLOptions
表1.3.2.5-6
名前 SSLOptions
説明 SSL 動作に関連する各オプションを設定します。
書式 SSLOptions [+|-]option ...
設定例 (クライアント認証で、SSL用の環境変数の設定とクライアント証明書のエクスポートを行う)
  SSLOptions +StdEnvVars +ExportCertData

1.3.2.6. ユーザ認証、アクセス制御

ここでは WebOTX Webサーバがサポートするユーザ認証機能と、 クライアントのアクセス制御に関する設定を記述します。

1.3.2.6.1. AuthType
表1.3.2.6-1
名前 AuthType
説明 ユーザ認証の種類を設定します。Basic と Digest が設定可能です。
書式 AuthType Basic|Digest
設定例 AuthType Basic
1.3.2.6.2. AuthName
表1.3.2.6-2
名前 AuthName
説明 HTTP認証の認可領域の名前を指定します。 ここで指定した文字列は、ほとんどのブラウザの「パスワードダイアログ」 に表示されます。
書式 AuthName auth-domain
設定例 AuthName "Top Secret"
1.3.2.6.3. AuthUserFile
表1.3.2.6-3
名前 AuthUserFile
説明 認証に使用するユーザとパスワードの一覧が格納されている テキストファイルを指定します。
通常、htpasswd コマンドで作成したパスワードファイルへの パスを指定します。
書式 AuthUserFile file-path
設定例 AuthUserFile /usr/local/apache/passwd/passwords
1.3.2.6.4. Require
表1.3.2.6-4
名前 Require
説明 認証済みユーザがリソース(ディレクトリ)に アクセスすることができるかを指定します。
書式 Require entity-name [entity-name] ...
設定例 (全ての認証されたユーザにディレクトリへのアクセスを許可する場合)
  Require valid-user

(指定されたユーザ(admin)のみディレクトリのアクセスを許可する場合)
  Require user admin
1.3.2.6.5. Order
表1.3.2.6-5
名前 Order
説明 デフォルトのアクセス可能な状態と、Allow と Deny が評価される順番を制御します。
書式 Order ordering
設定例 (以下の例では、Allow from all の後で Deny from foo.domain.com が設定されるため、 foo.domain.com 以外のクライアントからの アクセスを許可します。)
  Order Allow,Deny
  Allow from all
  Deny from foo.domain.com

(以下の例では、Deny from foo.domain.com の後で Allow from all が設定されるため、すべてのクライアント からのアクセスを許可します。)
  Order Deny,Allow
  Allow from all
  Deny from foo.domain.com
1.3.2.6.6. Allow / Deny
表1.3.2.6-6
名前 Allow
Deny
説明 サーバの特定の領域にアクセスできるホスト(クライアント)を制御します。
Allow はアクセスを許可するクライアントを、 Deny はアクセスを拒否するクライアントを指定します。
すべてのクライアント(all)、ドメイン名(domain.com)、 IPアドレス(12.34.56.78)、IPアドレスの一部(12.34) およびネットワーク/ネットワークマスクの対 (12.34.0.0/255.255.0.0または12.34.0.0/16)を 指定することができます。
書式 Allow from all|host|env=env-variable
Deny from all|host|env=env-variable
設定例 (以下の例では、foo.domain.com サブドメインにある クライアント以外の domain.com ドメインのすべてのクライアントから アクセスが許可されます。)
  Order Allow,Deny
  Allow from domain.com
  Deny from foo.domain.com

(次の3つの設定は同じアドレス群に対するアクセス許可 の設定となります。)
  Allow from 10.1
  Allow from 10.1.0.0/255.255.0.0
  Allow from 10.1.0.0/16

1.3.2.7. LDAP 連携

LDAP連携する場合に必要となる定義情報を記載します。

1.3.2.7.1. AuthLDAPUrl
表1.3.2.7-1
名前 AuthLDAPUrl
説明 LDAP連携で使用するLDAPサーバのDN情報をURLで指定します。
書式 AuthLDAPUrl ldap://host:port/basedn?attributes?scope?filter
設定例 (ドメインのdocrootに対するアクセスに対して LDAP認証をかける場合、次の設定を行います。連携するLDAPサーバ上に、 DN情報として、dc=users, dc=webotx, o=NEC, c=JP が設定されているとします。)

<Directory /opt/WebOTX/domains/domain1/docroot>
  AuthType Basic
  AuthName "Input a username and password."
  AuthLDAPUrl ldap://ldap-server/dc=users,dc=webotx,o=NEC,c=JP?uid?sub
  Require valid-user
</Directory>
 

1.3.2.8. ログ出力

WebOTX Webサーバが出力するログ情報に関する定義情報について説明します。

1.3.2.8.1. ErrorLog
表1.3.2.8-1
名前 ErrorLog
説明 エラーログファイルの出力先と名前を設定します。
エラーログには、リクエスト処理中に発生したエラーがすべて出力されます。 また、サーバ起動時やサーバ動作に問題が発生した場合にも、このファイル にエラーが出力されます。
書式 ErrorLog file-path
設定例
(既定値)
(Windows)
  ErrorLog logs/web/error.log

(UNIX)
  ErrorLog logs/web/error_log
1.3.2.8.2. CustomLog
表1.3.2.8-2
名前 CustomLog
説明 アクセスログファイルの出力先と名前、書式を設定します。
書式 CustomLog file-path|pipe format|nickname
設定例
(既定値)
(Windows)
  CustomLog logs/web/access.log common
  CustomLog  "C:/WebOTX/domains/domain1/logs/web/ssl_request.log" \
  "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x  \"%r\" %b"

(UNIX)
  CustomLog logs/web/access_log common
  CustomLog  /opt/WebOTX/domains/domain1/logs/web/ssl_request_log \
  "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x  \"%r\" %b"
1.3.2.8.3. LogFormat
表1.3.2.8-3
名前 LogFormat
説明 アクセスログに出力するログの出力書式を設定します。 アクセスログ情報には、クライアントのIPアドレス、URL、送信バイト数、 処理時間等を出力することができます。
書式 LogFormat format|nickname
設定例
(既定値)
LogFormat "%h %l %u \"%r\" %>s %b" common

上記の設定値の意味は以下の通りです。
設定値 説明
%h アクセスを行ったマシンのホスト名(または IPアドレス) が表示される。
%l リモートログ名。通常は’-‘が表示される。
%u 認証リモートユーザ名。 認証処理を行った場合に、そのユーザ名が表示される。
%r リクエストの最初の行。
%>s HTTP ステータス。リクエストが正常終了の場合、 200 が出力される。
%b HTTPヘッダ以外のサーバからクライアントに送られた バイト数。
common このログフォーマットを表すニックネーム。 CustomLog指示子に、このニックネームを指定することで このニックネームで設定されたログフォーマット情報が出力される。
設定可能なフォーマット
設定値 説明
%a リモートIPアドレス
%A ローカルIPアドレス
%b サーバからクライアントに送信されたバイト数(HTTPヘッダ以外)。 CLF書式。
1バイトも送信されなかった場合は 0 ではなく、 '-' が出力される。
%B サーバからクライアントに送信されたバイト数(HTTPヘッダ以外)
%D リクエストを処理するのにかかった時間、 ミリ秒単位
%{FOOBAR}e 環境変数 FOOBAR の内容
%f ファイル名
%h リモートホスト
%H リクエストプロトコル
%{Foobar}i サーバに送られたリクエストの Foobar: ヘッダの内容
%l (もしあれば、identd からの)リモートログ名
%m リクエストメソッド
%{Foobar}n 他のモジュールからのメモ Foobar の内容
%{Foobar}o 応答の Foobar: ヘッダの内容
%p リクエストを扱っているサーバの正式なポート番号
%P リクエストを扱った子プロセスのプロセスID
%q 問い合わせ文字列(存在する場合は前に ? が追加される。そうでない場合は空文字列)
%r リクエストの最初の行
%s HTTPステータスコード。
内部でリダイレクトされたリクエストは、元々のリクエスト のステータスが表示される。 最後のステータスを表示する場合は %>sと設定する。 正常終了の場合200が出力される。
%t 時刻。CLFの時刻の書式(標準の英語の書式)
%{format}t Formatで与えられた書式による時刻。
%T リクエストを扱うのにかかった時間を 秒単位で切り捨て表示する。
例えば、リクエストの処理時間が 1秒未満の場合は ’0’ が表示される。
%u リモートユーザ(authによる認証されたユーザ。 ステータス(%s)が401の場合は意味がない可能性がある)
%U リクエストされたURLパスで、クエリ文字列は含まない
%v リクエストを扱っているサーバの正式なサーバ名
%V UseCanonicalNameの設定によるサーバ名
1.3.2.8.4. LogLevel
表1.3.2.8-4
名前 LogLevel
説明 エラーログに出力するログレベルを設定します。
書式 LogLevel level
設定例
(既定値)
LogLevel warn

なお、level には次のレベルを設定可能です。
レベル 説明 error.logへの出力例
emerg 緊急-
システムが
利用できない
Child cannot open lock file. Exiting
(子プロセスがロックファイルを開けないために終了した)
alert 直ちに対処
が必要
getpwuid: couldn’t determine user name from uid
(getpwuid: UIDからユーザ名を特定できない)
crit 致命的な
状態

socket: Failed to get a socket, exiting child
(socket: ソケットの取得に失敗したため、子プロセスが終了した)

error エラー Permature end of script headers
(スクリプトのヘッダが足りないままで終了した)
warn 警告 child process 1234 did not exit, sending anther SIGHUP
(子プロセス1234が終了しないため、SIGHUPを再送した)
notice 重要な情報 httpd: caught SIGBUS, attempting to dump core in …
(httpd: SIGBUSシグナルを受け、…へコアダンプを出力した)
info 追加情報 Server seems busy, (you may need to increase MaxClients) …
(サーバ負荷が高い、MaxClientsの値を増やす必要があるかも)
debug デバッグ Opening config file…
(設定ファイルを開いている…)

1.3.2.9. 起動待ち合わせ時間の設定

WebOTX Webサーバのアライブチェックモニタ処理は、WebOTX Webサーバの起動処理が完了してから開始しますが、システムの状態やWebサーバのモジュール起動タイミングによっては、WebOTX Webサーバが起動しているにもかかわらず、「Webサーバが起動していない」というメッセージが出力される場合があります。これを回避するために、次の設定により、WebOTX Webサーバ起動後にアライブチェックモニタ処理を開始する時間を秒単位で指定します。

ここでは、WebOTX Webサーバの起動が完了してから10秒後にアライブチェックモニタを開始する場合の設定例を記載します。

otxadmin>create-jvm-options -Dwebotx.webserver.startup_wait_count=10

1.3.2.10. その他の定義情報

その他の定義情報の詳細については、次のURLを参照してください。

1.3.3. 外部Webサーバ設定方法

項目の設定

外部Webサーバを利用する場合は、事前に環境設定ツールを使って連携のための設定が必要です。設定方法は、「セットアップガイド > 2. インストール > 2.3. インストール後の作業」を参照してください。

外部Webサーバの設定方法については次の2通りがあります。なお、下記は外部Webサーバと連携するためのコネクタに関する設定です。Webサーバ自体の設定については、それぞれのマニュアルを参照してください。

Webコンテナ管理コンソールによる設定

Webコンテナの運用管理コンソールの「コネクタ」項目で、外部のWebサーバと連携するためのコネクタの設定ができます。コネクタの「種類」が"AJP"と表示されているものが外部Webサーバ連携用のコネクタです。詳細は「1.4. Webコンテナ」を参照してください。

MOによる参照と設定

外部Webサーバ連携用コネクタの設定は、WebコンテナのMOを介してもアクセス可能です。対象となる MO の Dottedname は「server.http-service.http-listener.http-listener-name」です。属性 protocol の値が "AJP/1.3" となっているものが外部Webサーバ連携用コネクタです。詳細は「1.4. Webコンテナ」を参照してください。

1.4. Webコンテナ

Webコンテナに関する設定について説明します。

1.4.1. Webコンテナ設定項目・設定方法

Webコンテナの設定項目の設定方法については次の2通りがあります。

Web版統合管理コンソールによる設定

Web版統合運用管理コンソールでは各種情報の設定ができます。なおWeb版統合運用管理コンソールの使い方と詳細については、「運用ツールガイド > 1. Web版統合運用管理コンソール」を参照してください。

MOによる参照と設定

Web版統合運用管理コンソールで設定できる項目は、JMXのMOとしてもアクセス可能です。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

1.4.2. Webコンテナ設定項目一覧

1.4.2.1. MOで設定可能な項目一覧

Dottedname : server.web-container

表1.4.2.1-1
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
log-available-accesslog アクセスログのON/OFFを指定します。
true
session-replication-jndi-url セッションレプリケーションを行っている場合に指定するHTTPセッションを保存する先のJNDIサーバのURLです。次の例のようなURLで記載します。

例:
rmiiiop://<ホスト1>:<JNDIサーバポート1>,<ホスト2>:<JNDIサーバポート2>…

ホスト名にはレプリケーションさせるJNDIサーバが動作しているホスト名またはIPアドレスを記述します。

JNDI サーバポート番号はJNDI サーバが動作しているWebOTX ドメインの組み込みIIOP リスナのポート番号となります。インストール時に作成されるdomain1のポート番号は7780 です。省略したときは自ドメインの組み込みIIOP リスナのポート番号が使用されます。

複数のWebOTXドメイン間でHTTPセッションをレプリケートするときはレプリケートする全てのWebOTXドメインのJNDIサーバのホスト名、ポート番号を列挙した指定を各WebOTXドメインに対して設定します。列挙する順番は意識する必要はありません。

HTTPセッションのみのレプリケーションを、レプリケーション先のJNDIサーバを列挙して設定します。

<null>
pool-tags-with-extends JSP タグのプーリングを行うかどうかを表します
false


Dottedname : server.web-container.property

表1.4.2.1-2
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
j2ee-enabled 認証情報のEJBコンテナへの伝播を ON/OFF します。"false" を指定するとこれらの機能が利用できなくなります。次のように、property の name、および value属性として指定します。

otxadmin> set  server.web-container.property.j2ee-enabled=true
※Express エディションにおいて WebOTX V8.1以前の Web エディション相当の動作をさせる場合は本パラメータを false に設定する必要があります。同時に sso-enabled の値も false に設定してください。
true
forwardRequestURL Forward先のサーブレットでHttpServletRequest#getRquestURL()を実行した時、forward前のURLを返すか forward後のURLを返すかの指定です。

otxadmin> set  server.web-
container.property.forwardRequestURL=forward
original: forward前のURLを返す
forward: forward後のURLを返す

※既定値は、WebOTX V7.11以前の値(original)から変更されています。
forward

auth_<認証種別>_<属性名> Authenticatorの属性に値を設定します。
<認証種別> basic = BASIC認証
client = クライアント認証
form = FORM認証
digest = DIGEST認証
all = 全ての認証
<属性名> 値を設定する属性名

otxadmin> set  server.web-
container.property.auth_all_changeSessionIdOnAuthentication=true



Dottedname : server.web-container.plugin-config

Web版統合運用管理コンソールまたは運用管理ツールでは 「アプリケーションサーバ」-「Webコンテナ」-「Webサーバ連携設定」のノードが対応します。

Caution
以下の設定を変更し、変更内容をWebサーバに反映するには、Webサーバの再起動が必要です。

表1.4.2.1-3
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
jk-mount-copy JkMountCopyに記述するタイプを On/Off/All で指定します。ここで指定されたものは、Webサーバプラグインがデフォルトで使用する設定ファイルに"JkMountCopy"として出力されます。詳細は以下のJkMountCopyを参照してください。 Memo1 All
jk-mount-file Webコンテナに配備したWebアプリケーションのコンテキストのリクエストを記載したファイルを指定します。詳細は、JkMountFileを参照してください。 Memo1 ${INSTANCE_ROOT}/config/WebCont/uriworkermap.properties-auto
jk-mount-file-reload jk-mount-file で指定したファイルを再読み込みする間隔(秒単位)を指定します。詳細は、JkMountFileReloadを参照してください。 Memo1 0
jk-no-mount-list 配備したアプリケーションのコンテキストのマッピングを出力しないアプリケーションを","(カンマ)区切りで指定します。ここで指定されたアプリケーションは、Webサーバプラグインがデフォルトで使用する設定ファイルにマッピング情報が出力されないため、Webサーバ経由でのアクセスを制限できます。配備されていないアプリケーションのコンテキスト名が指定された場合は、無視されます。Memo2

例:/testAPP1, /testApp2
<null>
jk-unmount-list JkUnMountを出力するアプリケーションを","(カンマ)区切りで指定します。ここで指定されたものは、Webサーバプラグインがデフォルトで使用する設定ファイルに"JkUnMount"として出力されます。詳細は以下のJkUnMountを参照してください。Memo1 Memo3

例:/testAPP1/*,/favicon.ico
<null>
log-file-name ログのファイル名を絶対パスまたは相対パスで指定します。 相対パスは ${INSTANCE_ROOT}/logs/web からの相対パスです。 既定値は ${JKPLUGIN_NAME}.log で、${JKPLUGIN_NAME} はWebサーバプラグインのモジュール名を表します。 Memo1 ${JKPLUGIN_NAME}.log
log-rotate-enable プラグインのログのローテートを行うかどうかを指定します。"true"を設定した場合、log-rotate-intervalの設定に応じた内容が、Webサーバプラグインがデフォルトで使用する設定ファイルに出力されます。 Memo1 false
log-rotate-generations 設定の必要はありません ログローテーションの世代数を指定します。
この設定は IIS と連携を行っているときに有効です。StdM Memo1
3
log-rotate-interval プラグインのログのローテートを行う間隔を指定します。(単位:秒)
また、ファイルサイズでの指定も可能で、その場合数字の後ろに "M" を付けて指定します。 Memo1
86400
log-rotate-option Apache連携時のログローテートオプションの指定を行います。
既定値ではオプションを指定しません。
指定できるオプションは rotatelogs のマニュアルを参照してください。 Memo1
<null>
log-rotate-size ローテートを行う際のファイルの最大サイズを指定します。(単位:MByte)
0(既定値)を設定した場合ローテートは行われません。 Memo1
0
plugin-host-name 設定の必要はありません プラグインの連携先ホスト名を指定します。ここで指定されたホスト名は、Webサーバプラグインがデフォルトで使用する設定ファイル(workers.properties)に出力されます。詳細は以下のhostを参照してください。StdM localhost
plugin-log-level プラグインのログレベルを trace/debug/info/warn/error で指定します。ここで指定されたログレベルは、Webサーバプラグインがデフォルトで使用する設定ファイルに"JkLogLevel"として出力されます。詳細は以下のJkLogLevelを参照してください。 Memo1 error
plugin-pool-size プラグインのコネクションのプール数を指定します。ここで指定されたプール数は、Webサーバプラグインがデフォルトで使用する設定ファイル(workers.properties/ior_workers.properties)に"connection_pool_size"として出力されます。詳細は以下のconnection_pool_sizeを参照してください。
150
plugin-port-number 設定の必要はありません プラグインが連携するWebコンテナのポート番号を指定します。ここで指定されたポート番号は、Webサーバプラグインがデフォルトで使用する設定ファイル(workers.properties)に出力されます。詳細は以下のportを参照してください。StdM 8099
plugin-query-mode プラグインの動的反映オプションを On/Off/Once で指定します。ここで指定された動的反映オプションは、Webサーバプラグインがデフォルトで使用する設定ファイル(workers.properties/ior_workers.properties)に出力されます。

動的反映オプションについては、下記「1.4.4. Webサーバプラグイン定義ファイルの設定方法」を参照してください。
On

Memo1
この項目は、WebOTX Webサーバを使用している場合にのみ有効です。

Memo2
この項目を有効にするには、plugin-query-modeをOffにする必要があります。

Memo3
コンテキストルートを"/testApp1"として配備したアプリケーションへのアクセスを全て無効にする場合は、"/testApp1,/testApp1/*"と設定する必要があります。


Dottedname : server.web-container.current-version-config.current-version.context-root-name

表1.4.2.1-3-2
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
version セッション振り分けバージョン管理Memoで使用するWebアプリケーションのカレントバージョンです。同一コンテキストルート名で配備した複数のWebアプリケーションのバージョンを指定します。
otxadmin> set
server.web-container.current-version-config.current-version./sample.version=02
なし

Memo
  1. セッション振り分けバージョン管理の概要
    セッション振り分けバージョン管理は同一コンテキストルート名で配備された複数の異なるバージョンのWebアプリケーションから、リクエストをセッションに紐づけて振り分ける機能のことです。カレントバージョンはセッションを持たないリクエストをどのWebアプリケーションに振り分けるかを示します。
    セッション振り分けバージョン管理については注意制限事項 > 3. Webコンテナ > 3.2. 制限事項もご確認ください。

    例えば次のような状態の場合、

    セッション振り分けバージョン管理概要図


    各クライアントからのリクエストは次のように処理されます。
    • クライアントA : セッションIDの001から/sample(version=01)にリクエストを振り分けます。
    • クライアントB : セッションIDが無いためカレントバージョンの/sample(version=02)にリクエストを振り分けます。
    • クライアントC : セッションIDの002から/sample(version=01)にリクエストを振り分けます。
    • クライアントD : セッションIDの003から/sample(version=02)にリクエストを振り分けます。
  2. セッション振り分けバージョン管理の使用方法
    Webアプリケーションを配備する際にcurrentversionオプションを指定します。 オプションを指定することで同一コンテキストルート名のWebアプリケーションを複数配備することができます。
    otxadmin> deploy --contextversion 01 --contextroot /sample --name sample-01 sample.war
        :
    otxadmin> deploy --contextversion 02 --contextroot /sample --name sample-02 sample.war
    

  3. カレントバージョンの更新契機
    次のような場合、カレントバージョンが更新されます。カレントバージョンに指定されているWebアプリケーションが配備解除された場合等は 残ったカレントバージョンを辞書的に比較し最大のものがカレントバージョンとして設定されます。
    • Webアプリケーションが配備された場合(配備したWebアプリケーションがカレントバージョンとなります)
    • カレントバージョンに指定したWebアプリケーションが配備解除、またはdisable状態に変更された場合
    • setコマンドによりカレントバージョンの更新した場合



Dottedname : server.http-service

表1.4.2.1-4
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
sso-enabled シングルサインオンのON/OFFを指定します。次のように指定します。
otxadmin> set
server.http-service.property.sso-enabled=false

※Express エディションにおいて WebOTX V8.1以前の Web エディション相当の動作をさせる場合は本パラメータを false に設定する必要があります。同時に j2ee-enabled の値も false に設定してください。
server.web-container.property.j2ee-enabled の値


Dottedname : server.http-service.access-log

表1.4.2.1-5
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
format アクセスログの書式を指定します。次のように指定します。
otxadmin> set server.http-service.access-log.format="%a -
%u %t %m %U %q %H %s %b %D"
"%a - %u %t \"%m %U %q %H\" %s %b %D"


Dottedname : server.http-service.virtual-server.virtual-server-name

表1.4.2.1-6
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
default-web-module コンテキスト名を省略した時に動作する、デフォルトのWebモジュールです。
hosts 仮想サーバを選択するためのホストリクエストヘッダの中で有効な値のカンマ(,)区切りのリストです。
id 仮想サーバの識別名です。
docroot 仮想サーバのドキュメントルートです。
network-listeners 仮想サーバに関連付けされているHTTPリスナのカンマ(,)区切りのリストです。
sso-cookie-secure シングルサインオン(SSO)で使用されるJSESSIONIDSSOクッキーのセキュリティ設定です。


Dottedname : server.http-service.virtual-server.virtual-server-name.property

表1.4.2.1-7
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
allowLinking (UNIXでのみ有効)
Webアプリケーションのディレクトリより、シンボリックリンクをたどる場合、trueを設定する。次のように、property の name、および value属性として指定します。Memo1
otxadmin> set  server.http-service.virtual-
server.server.property.allowLinking=true
false
valve_<任意> Valveを実装したクラスを指定します。次のように、property の name、および value属性として指定します。
valve_=org.apache.catalina.valves.RequestDispatchTestValve
なお、複数のValveを登録する場合は "valve_" に続けて重複しないような任意の文字を指定してください。例えば "valve_1", "valve_2" のように指定します。Memo2
docroot 仮想サーバのドキュメントルートです。
server.http-service.virtual-server.virtual-server-
name.docroot
の値をオーバーライドします。
caseSensitive Webアプリケーション内のパス名での、大文字・小文字の区別有無の指定です。Memo3

true: 大文字・小文字のチェックが無効にされます。
false: 大文字・小文字を区別します。
true

Memo1
allowLinkingの設定(true)を有効にするには、caseSensitiveをfalseに設定する必要があります。

Memo2
この設定は、統合運用管理ツールか Web版統合運用管理コンソールで行ってください。

Memo3
この設定は、Windows プラットフォーム (または英字の大小を区別するファイル システムを持たない OS)では、 このフラグを false に設定してはいけません。 セキュリティ問題、JSP ソース コードの暴露を許すことになる問題があります。


Dottedname : server.network-config.network-listeners.network-listener.network-listener-name


  Dottedname : server.http-service.http-listener.http-listener-name 旧名(非互換です)

Web版運用管理コンソールまたは運用管理ツールでは「アプリケーションサーバ」-「ネットワーク構成」-「ネットワークリスナ構成」-「network-listener」-「ネットワークリスナ名」のノードが対応します。

WebOTX V9よりHTTPリスナの設定を変更しています。設定はtransport、protocol、thread-poolに分散して行い、それぞれを選択することでHTTPリスナを定義します。 HTTPリスナに使用される通信コネクタにはgrizzly、ajp、bio、nioを指定できます。また種類の異なるHTTPコネクタを混在させて使用することが可能です。

  Dottedname : server.network-config.transports.transport.transport-name

  Dottedname : server.network-config.protocols.protocol.protocol-name.http

  Dottedname : server.thread-pools.thread-pool.thread-pool-name



Caution
アドバンスドモードの場合は、HTTPリスナは使用せずIIOPリスナを経由して処理が行われます。

表1.4.2.1-8
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
enabled アプリケーショングループやプロセスグループの停止で代用します リスナの活性状態を表します。 falseを設定した場合、リスナのポート自体が開きません。
Web版統合運用管理コンソール用のポート(既定値:5858)を閉じたい場合は、以下のように設定してください。
otxadmin> set server.network-config.network-listeners.
network-listener.admin-listener.enabled=false
true
name *3 リスナの名称です。
port *3 連携する Webサーバとの通信用ポート番号、もしくはHTTPリクエストを受け付けるポート番号を表示します。
address IIOPリスナに接続制限が無いため対応する設定はありません 複数アドレスを持つサーバで、特定のアドレスに対するリクエストのみ許可したい場合に指定します。 0.0.0.0
protocol *3 リスナが使用するプロトコル要素の名称です。
thread-pool *3 リスナが使用するスレッドプールの名称です。
transport *3 リスナが使用するトランスポート要素の名称です。


Dottedname : server.network-config.transports.transport.transport-name

Caution
アドバンスドモードの場合は、HTTPリスナは使用せずIIOPリスナを経由して処理が行われます。

表1.4.2.1-9
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
name 設定の必要はありません トランスポートの名称です。


Dottedname : server.network-config.protocols.protocol.protocol-name

Caution
アドバンスドモードの場合は、HTTPリスナは使用せずIIOPリスナを経由して処理が行われます。

表1.4.2.1-10
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
name 設定の必要はありません プロトコルの名称です。
ssl-enabled 設定の必要はありません SSL通信を行うかを設定します。 false
type 設定の必要はありません 使用するコネクタを指定します。"grizzly"、"ajp"、"bio"、"nio"から選択します。 grizzly


Dottedname : server.network-config.protocols.protocol.protocol-name.http

Caution
アドバンスドモードの場合は、HTTPリスナは使用せずIIOPリスナを経由して処理が行われます。

表1.4.2.1-10
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
default-virtual-server *3 プロトコルに関連付けされた仮想サーバ名です。
proxy-name *3 HttpServletRequest.getServerName() が返すサーバ名を設定します。 またsendRedirect実行時の宛先URLにも影響します。詳細は欄外の備考を参照。
proxy-port *3 HttpServletRequest.getServerPort() が返すポート番号を設定します。 またsendRedirect実行時の宛先URLにも影響します。詳細は欄外の備考を参照。
scheme *3 HttpServletRequest.getScheme() が返すスキームを設定します。 またsendRedirect実行時の宛先URLにも影響します。
xpowered-by *3 レスポンスに X-Powered-By ヘッダを付加するかどうかを表します。 false
max-post-size-bytes *3 POSTで扱える最大データサイズを指定します。この上限値は、POSTリクエストのデータをパラメータとしてアクセス (HttpServletRequest.getParameter()等)した場合に効きます。ストリームを取得(HttpServletRequest.getInputStream())して 読み込む処理を行っている場合は制限を受けません。 指定する単位はバイトです。次のように、property の name、およびvalue属性として指定します。
otxadmin> set server.network-
config.protocols.protocol.http-listener.http.max-
post-size-bytes=4194304
WebOTX V7 以前では "max-post-size" という名前でした。
2048000
header-buffer-length-bytes 設定はできません。 リクエストとレスポンスの HTTP ヘッダの最大サイズ (byte単位)を指定します。
HTTPリクエスト受信バッファサイズにも反映されます。
デフォルト値は8192 (8KB) です。

外部Webサーバ連携時のHTTPヘッダ最大サイズはAJPプロトコルの制限により8KB固定のため、リクエストHTTPヘッダサイズの制限は外部Webサーバ側で行います。
otxadmin> set server.network-config.protocols.protocol.http-listener.http.header-buffer-length-bytes=4096

※HTTPリクエスト受信バッファサイズとはソケットからHTTPリクエストデータを一回で読み込む最大サイズです。
8192
uri-encoding *3 URIのエンコードに使う文字コードを設定します。次のように指定します。
otxadmin> set server.network-config.protocols.protocol.http-listener.http.uri-encoding=Windows-31J
WebOTX V8 では "URIEncoding" という名前でした。V5 に設定項目は存在しません。
UTF-8

※V7 以前は ISO-8859-1
use-body-encoding-for-uri *3 このパラメータは、ボディデータのパラメータと同じエンコーディングをURIのパラメータに使うかどうかの指定です。 同じエンコーディングをURIのパラメータに使う場合は"true"を指定します。次のように指定します。
otxadmin> set server.network-config.protocols.protocol.http-listener.http.use-body-encoding-for-uri=true
WebOTX V8 では "useBodyEncodingForURI" という名前でした。
false


Dottedname : server.network-config.protocols.protocol.protocol-name.http.property

Caution
アドバンスドモードの場合は、HTTPリスナは使用せずIIOPリスナを経由して処理が行われます。

表1.4.2.1-11
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
maxParameterCount *3 処理可能なリクストパラメータの上限を指定します。
otxadmin> set server.network-config.protocols.
protocol.http-listener.http.property.maxParameterCount=2000
指定値を超えたパラメータは無視されます。 -1 を設定した場合、上限値は無制限となります。
Caution
このパラメータをむやみに大きくすることはセキュリティ上問題があります。詳細な情報については以下の参考ページを参照ください。
参考:Apache Tomcat におけるサービス運用妨害 (CPU 資源の消費) の脆弱性
10000
xpoweredByString *3 レスポンスヘッダ"X-Powered-By"の値を設定します。

Servlet/2.5 JSP/2.1 (WebOTX ${version} Java/${java.runtime.version})


Dottedname : server.thread-pools.thread-pool.thread-pool-name

Caution
アドバンスドモードの場合は、HTTPリスナは使用せずIIOPリスナを経由して処理が行われます。

表1.4.2.1-12
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
max-thread-pool-size IIOPリスナの「同時接続クライアント数」、TPモニタの「スレッド数」が相当します *2 Webコンテナが生成できるリクエスト受け付けプロセッサの最大数を設定します。 100
min-thread-pool-size IIOPリスナは処理スレッドの動的制御を行なわないため、対応する設定はありません Webコンテナ起動時に生成するリクエスト受け付けプロセッサの数を設定します。 25
limit-thread-pool-size IIOPリスナは処理スレッドの動的制御を行なわないため、対応する設定はありません Webコンテナは、アクティブなリクエスト受け付けプロセッサの数が最大数に近づいた時に運用管理コンソールに警告を通知します。その閾値を設定します。 80


備考.sendRedirect実行時の宛先URLについて
下図のようにリクエスト経路に負荷分散装置(SSLアクセラレータ)を配置して、httpsをhttpに変換している場合は、クライアントの宛先URLとsendRedirect時のURLが異なりエラーが発生します。このような場合、プロパティを設定(scheme、proxy-port、proxy-name)し宛先URLを変更することで、正常にアクセスできるようになります。

sendRedirect概要図
図1.4.2.1-1

*1) アドバンスドモードでアクセスログを採取するには accessLoggingEnabled プロパティの代わりに <domain>/config/tpsystem/logconf/<apg>-<pg>/log4otx.xml を開き name="server" の logger のログレベルを DEBUG に変更します。

<logger name="server" additivity="true">
 <level value="DEBUG" class="com.nec.webotx.logging.OTXLogLevel"></level>
 <appender-ref ref="WOTRACE"></appender-ref>
</logger>

注)アドバンスドモードではアクセスログのフォーマットを変更することはできません。また、この設定を行うと性能に影響があります。特に必要のない限り、本番等での使用はお控ください。

*2) アドバンスドモードにおいては、これらの項目はプロセスグループの設定項目となります。 「1.4.5.2.IIOPプラグインの設定項目一覧」を参照してください。

*3) アドバンスドモードにおいては、これらの項目は、HTTPリスナ"ajp-listener-1"に対して設定することで利用できます。 また、一部の項目は、旧バージョンと同様にシステムプロパティでも設定することが可能です。「1.4.2.3. JavaVMオプションで設定可能な項目一覧」を参照してください。

*4) アドバンスドモードでは連携する Webサーバ側で設定してください。参考:mod_deflate - Apache 2.2

Dottedname : server.network-config.protocols.protocol.protocol-name.ssl

表1.4.2.1-13
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
cert-nickname 設定の必要はありません 証明書データベースやPKCS#11トークンで証明されるサーバの愛称です。その証明書で、名前の書き方はtokenname:nicknameです。この属性のtokenname:の部分を含むかどうかは任意です。
client-auth-enabled 設定の必要はありません SSL3クライアント認証がACLに基づくアクセス制御と無関係の全てのリクエスト上で実行されるかどうかを決定します。既定値は無効(false)です。
ssl2-ciphers 設定の必要はありません 使用されるSSL2暗号のコンマ区切りの一覧です。有効化には前に+をつけ、無効化には前に-をつけて下さい。有効な値はrc4, rc4export, rc2, rc2export, idea, des, desede3です。値が指定されない場合、全ての暗号が有効化されます。
ssl2-enabled 設定の必要はありません SSL2が有効化されるかどうかを決定します。 false
ssl3-enabled 設定の必要はありません SSL3を有効化するかどうかを決定します。 true
ssl3-tls-ciphers 設定の必要はありません 有効なSSL3暗号スイートをコンマ区切りで指定します。

指定できる値は SunJSSE が実装する暗号スイートです。
詳しくは次のドキュメントを参照してください。

http://java.sun.com/javase/ja/6/docs/ja/
 > セキュリティ
  > Sun プロバイダドキュメント
   > SunJSSE プロバイダ

有効化には前に + をつけ、無効化には前に - をつけて下さい。

設定例:
+SSL_RSA_WITH_RC4_128_MD5,+SSL_RSA_EXPORT_WITH_RC4_40_MD5
値が指定されない場合、SunJSSE がサポートする既定の全ての暗号スイートが有効化されます。
tls-enabled 設定の必要はありません TLSを有効化するかどうかを決定します。 true
tls-rollback-enabled 設定の必要はありません TLSロールバックを有効化するかどうかを決定します。TLSロールバックはMicrosoft Internet Explorer 5.0 and 5.5に対して有効化されます。 true


Dottedname : server.system-applications.application.web-module-name

  Dottedname :server.applications.web-module.web-module-name 旧名(非互換です)

表1.4.2.1-14
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
async-replication
availability-enabled true
description Web Application の説明です。
enabled Web Application の活性状態を表します。 true
location 配備先のパス名です。
directory-deployed 配備方法を表します。 ディレクトリ配備したモジュールである場合は trueです。 変更することはできません。
name Web Application の名前です。
object-type Web Application のタイプです。

Dottedname : server.applications.web-module.web-module-name.module.web-module-name.engine.web.web-module-config

表1.4.2.1-15
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
context-root コンテキストルートの名前です。*5
cross-context 同じ仮想ホスト上で動作している他の Web Applicationのコンテキスト情報を参照可能にするかどうかの指定をします。 true
privileged 内部クラスへのアクセスを許可するかどうかを表します。 false

*5) コンテキストパスに "/" を含めると一部機能が利用できなくなります。詳しくは [ 注意制限事項 > 3. Webコンテナ > 3.1. 注意事項] を参照してください。



Dottedname : server.session-config.session-manager.manager-properties

表1.4.2.1-16
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
reap-interval-in-seconds バックグラウンドスレッド周期です。 Webアプリケーションがバックグラウンドスレッドを実行する周期を秒単位で指定します。
有効な値は、1〜2147483647です。

バックグラウンドスレッドでは、 セッションのタイムアウトチェック処理及びサーブレットのクラスファイルの更新チェック処理が実行されます。 セッションのタイムアウトチェック処理は、さらにタイムアウトチェック頻度との組み合わせで実行周期を決定します。
タイムアウトチェック頻度については、process-expires-frequency属性を参照してください。
60
process-expires-frequency タイムアウトチェック頻度です。 セッションのタイムアウトチェックをバックグラウンドスレッドの実行周期で何回おきに実行するかを指定します。
有効な値は、1〜2147483647です。

セッションのタイムアウトチェックの周期=「バックグラウンドスレッド周期」×「タイムアウトチェック頻度」となります。
バックグラウンドスレッド周期については、reap-interval-in-seconds属性を参照してください。
1
session-id-length 生成されるセッションIDのバイト数を指定します。
(セッションIDの文字列長は、指定した値×2になります。)
有効な値は、8〜512です。
例)16を指定した場合のセッションID
D076CCDA5EFF2167B860A9C75FD558BB
16
max-sessions 最大セッション数です。 レプリケーションモードが同期、即時同期モードの場合、アクティブセッションの最大数を指定します。 非同期モードの場合、メモリ上で管理するセッション(活性化状態セッション)の最大数を指定します。
有効な値は、-1、0〜2147483647です。
-1が指定された場合、無制限となります。
-1
session-filename Webアプリケーション停止時にセッション情報を保存するファイル名を指定します。
ファイルは、${INSTANCE_ROOT}/generated/jsp/の対応Webアプリケーションディレクトリに作成されます。
※storage-type属性に"DATAGRID"が指定されている場合は、無効です。
algorithm セッションIDを計算するアルゴリズムを指定します。
Java.security.MessageDigestでサポートされている必要があります。
MD5
entropy セッションIDの生成時に用いられる乱数生成メソッドに渡す文字列を指定します。
min-idle-swap スワップ最小アイドル時間です。セッション情報を非活性化*6するまでの時間(秒単位)を指定します。
最大セッション数が指定されている場合に参照されます。 非活性化されていないセッションの数が最大セッション数を超えている場合、 セッションへの最終1つ前のアクセスからmin-idle-swap時間を越えているセッションを非活性化します。
最大セッション数が指定され、min-idle-swapにOFF(-1)が設定された場合、 最大セッション数を超えた分のセッションは検索順に非活性化されます。 ただし、min-idle-swap時間は最大セッション数が指定された場合に有効になります。
非活性化されていないセッションが最大セッション数を越えている、かつ、 セッションへの最終1つ前のアクセスからmin-idle-swap時間が経過している場合、セッション情報を非活性化します。 min-idle-swapは最大セッション数が定義されない場合もmax-idle-swapのスイッチとして機能します。
有効な値は、-1、1〜2147483647です。
-1が指定された場合、機能OFFとなります。
※min-idle-swapには、max-idle-swapと同じか短い値を指定してください。
※min-idle-swapは、replication-mode属性に"AS"が指定されている場合にのみ有効です。
-1
max-idle-swap スワップ時間です。セッション情報を非活性化*6するまでの時間(秒単位)を指定してください。
セッションへの最終1つ前のアクセスからmaxIdleSwap時間が経過している場合、セッション情報を非活性化します。
max-idle-swapは、min-idle-swapがOFF(-1)設定されている場合は使用されません。
有効な値は、-1、1〜2147483647です。
-1が指定された場合、機能OFFとなります。
※max-idle-swapには、min-idle-swapと同じか長い時間を設定してください。
※max-idle-swapは、replication-mode属性に"AS"が指定されている場合にのみ有効です。
-1
max-idle-backup バックアップ間隔です。セッション情報を格納先に保存(バックアップ)するまでの時間(秒単位)を指定します。
セッションへの最終1つ前のアクセスからmaxIdleBackup時間が経過している場合、セッション情報を格納先に保存します。
有効な値は、-1、0〜2147483647です。
-1が指定された場合、機能OFFとなります。
※max-idle-backupは、replication-mode属性に"AS"が指定されている場合にのみ有効です。
0
replication-mode レプリケーションモードを指定します。
有効な値は、"RS"、"SS"、"AS"です。
RS:即時同期モード(RealtimeSynchro)
SS:同期モード(StandardSynchro)
AS:非同期モード(Asynchro)
※storage-type属性に"DATAGRID"が指定されている場合は、"RS"、"SS"のみ有効です。
RS
skip-static-file-session-upd 静的ファイルセッション更新スキップフラグです。
動的ファイル(Servlet/Jsp)以外のリクエストに対し、 Webコンテナが行うセッション時間情報の更新をスキップするかどうかを指定します。
true:スキップする
false:スキップしない
※storage-type属性に"DATAGRID"が指定されている場合は、無効です。
false
save-skip セッション情報更新スキップフラグです。
true:スキップする
false:スキップしない
※この設定は、replication-mode属性に"SS"または"AS"が指定されている場合にのみ有効です。
true
change-session-id セッションID付け替え処理スイッチです。
リクエストのセッションIDに自身と異なるjvmRoute、プロセスIDが付加されている場合、 自身のプロセスで生成したセッションに置き換えるかどうかを指定します。
true:置き換える
false:置き換えない
※storage-type属性に"DATAGRID"が指定されている場合は、無効です。
replication-mode属性が"AS"の場合はtrue、その他の場合はfalse
storage-type セッション情報の保存タイプを指定します。
有効な値は、"JNDI"、"DB"、"FILE"、"DATAGRID" です。
※"FILE"は、replication-mode属性に"AS"が指定されている場合にのみ、"DATAGRID"は、Standard以上のエディションで有効です。
JNDI
datasource-name DBと接続するデータソース名を指定します。
※この設定は、storage-type属性に"DB"が指定されている場合にのみ有効です。
sqlfile-path SQL拡張ファイルパスを指定します。
絶対パスでの指定と相対パスでの指定が可能です。
相対パスで指定する場合、${INSTANCE_ROOT}/configを基点としてください。
nec-web.xmlのsqlfilePathプロパティでSQL拡張ファイルパスを指定している場合は、nec-web.xmlの指定が有効になります。
※この設定は、storage-type属性に"DB"が指定されている場合にのみ有効です。
session-double-reading 同一セッションに対する複数のリクエストが同時期に処理された場合、 重複する格納先からのセッション情報取り込み及び書き込み処理を行うかを指定します。
falseが指定された場合、重複処理を抑制します。
※この設定は、replication-mode属性に"SS"が指定されている場合にのみ有効です。ただし、storage-type属性に"DATAGRID"が指定されている場合は無効です。
true
backup-interval バックアップ処理を実行する間隔。非同期モードのみ有効。セッション情報を格納先に保存する処理を呼び出すまでの時間(秒単位)です。
実際にセッション情報を保存(バックアップ)するかどうかはmaxIdleBackupの設定で判定されます。
有効な値は、0〜2147483647です。
0が指定された場合、バックアップは行われません。
※この設定は、replication-mode属性に"AS"が指定されている場合にのみ有効です。
60
storage-timeout-check-once 格納先にあるセッション情報のタイムアウトチェックを起動時に一度のみ行うかどうかを設定します。
規定値(false)では、格納先にあるセッション情報のタイムアウトチェックはバックグラウンドスレッドで定期的に実行されます。一度のみ実行(true)を指定した場合は、Webアプリケーションが起動した後、一度だけ格納先セッションのタイムアウトチェックが実行されます。
セッションをスワップアウトする、かつ本設定を一度のみ実行(true)とした場合、スワップアウトされたセッションはタイムアウトチェックされなくなる事に注意してください。
※この設定は、replication-mode属性に"AS"が指定されている場合にのみ有効です。
false
storage-timeout-access-wait タイムアウトチェック処理において格納先への連続アクセスによる高負荷状態を回避するために、格納先にアクセスする直前に処理をsleepする時間(ミリ秒単位)を指定します。
有効な値は、-1、1〜9223372036854775807です。
-1が指定された場合、sleepは行われません。
※この設定は、replication-mode属性に"AS"が指定されている場合にのみ有効です。
5
data-grid-name 使用するデータグリッドの名前を指定します。
※この設定は、Standard以上のエディションで、storage-type属性に"DATAGRID"が指定されている場合にのみ有効です。
__default_http_session

*6) セッション情報を格納先に保存し、メモリ上から削除する処理



Dottedname : server.session-config.session-manager.manager-properties.property

表1.4.2.1-17
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
notReplicationAttributes_<数値> 即時同期モードのみ有効。 セッションレプリケーション設定のWebアプリケーションで、格納先に保存を行わないセッションアトリビュート名を指定します。
アトリビュート名は前方一致検索で対象のアトリビュートを判定します。
アトリビュート名はプロパティ名の数値部分を変更することで複数指定することができます。数値はプロパティ名が一意になれば連番でなくてもかまいません。
アトリビュート名には英数字に加えて次の文字を使用することができます。
. , ! # $ % & ' ( ) = ~ | [ ] { } ; : ? * @ _ - +


Dottedname : server.session-config.session-manager.store-properties

表1.4.2.1-18
属性名
(attribute-name)
アドバンスドモードでの設定 説明 既定値
directory セッションファイルを書き込むディレクトリを指定します。
※この設定は、storage-type属性に"FILE"が指定されている場合にのみ有効です。


1.4.2.2. プロセスグループ(アドバンスドモードのみ)の環境変数で設定可能な項目一覧

プロセスグループの環境変数は、Web版統合運用管理コンソールや統合運用管理ツールのプロセスグループの「環境変数」タブで設定する事ができます。

表1.4.2.2-1
環境変数名 説明 既定値
WOTX_ASYNC_REPLACE 動的再配備の非同期動作のON/OFFを指定します。
配備時に、自ドメインへ向けてのHTTPリクエストが行われるアプリケーションがある場合には"ON"を設定してください。
ONを指定する必要があるのは、以下の様な場合が考えられます。
  • load-on-startupを指定したServletのinitメソッドで、自ドメインに配備済みのWebアプリケーションにHTTPリクエストを行う処理がある。
  • ServletやListenerで WebServiceRefアノテーションを定義して、自ドメインに配備済みのWeb Serviceを参照している。
OFF


1.4.2.3. JavaVMオプションで設定可能な項目一覧

WebOTXは、Servlet/JSPコンテナにさまざまな機能があり、それらの機能の制御を行えるJava VM オプションを説明します。

下記に動作モード(スタンダードモード/アドバンスドモード)別の設定方法を記載します。


■スタンダードモードの場合

・運用管理コンソールでの設定方法(推奨)

運用管理コンソールにログインし、下記の箇所に設定を記述した後、ドメインを再起動してください。
<ドメイン名>
 -「アプリケーションサーバ」
  -「JVM構成」
の順にクリックしていき、「属性」タブの「JVMオプション」の「システムJVMオプション」の欄に”-D”の後に続いて設定を記述してください。その後、ドメインを再起動することで反映されます。

設定例:

-Dwebotx.webcont.jndidelete=480

・domain.xml直接編集での設定方法

ドメインを停止し、下記の例のように対象ファイルの<java-config>要素に<system-jvm-options>タグを記述した後"-D"の後に続いて設定を記述してください。その後、ドメインを起動することで設定が反映されます。

設定例:<WebOTXインストールディレクトリ>/domains/domain1/config/domain.xml

<java-config>
 <system-jvm-options>-Dwebotx.webcont.jndidelete=480</system-jvm-options>
</java-config>

■アドバンスドモードの場合

・運用管理コンソールでの設定方法

運用管理コンソールにログインし、下記の箇所に設定を記述した後、TPシステムを再起動してください。
<ドメイン名>
 -「TPシステム」
  -「アプリケーショングループ」
   -「<アプリケーショングループ名>」
    -「プロセスグループ」
     -「<プロセスグループ名>」
の順にクリックしていき、「属性」タブの「Javaシステムプロパティ」の欄に設定を記述してください。
「名前」に項目名を記述し、「値」に指定する値を記述してください

設定例:

表1.4.2.3-1
名前
webotx.webcont.jndidelete
480

設定項目一覧

表1.4.2.3-2
項目 説明 既定値
webotx.webcont.jndidelete JNDIに格納したセッション情報をタイムアウト後、何秒で削除するかを指定します。 480
webotx.webcontainer.serverconfig.Append JKプラグインが利用する連携のための設定ファイルを出力するか否かを指定します。 true
webotx.webcontainer.serverconfig.ForwardAll JKプラグインに対するコンテキストのリクエストを全て転送するか否かを指定します。 true
webotx.webcontainer.serverconfig.ForwardKeyInfo Webサーバの持つ認証情報を Webコンテナに転送するか否かを指定します。 true
webotx.webcontainer.serverconfig.NoRoot JKプラグインに対するリクエストのうち、ルートコンテキスト(/)を転送するか否かを指定します。 true
webotx.webcontainer.serverconfig.OMlistener.OutputConfAuto IIOPプラグインが利用する連携のための設定ファイルを出力するかどうかを指定します。ただし、ファイルが存在しない場合はこの値に関わらず出力します。 true
com.nec.webotx.webcontainer.DelegateGetResourceForSpecific 特定のリソース取得について、Webアプリケーションクラスローダの上位クラスローダからの読み込みを優先するか否かを指定します。 false
com.nec.webotx.webcontainer.EnableClearReferencesThreadsInfoLog Webアプリケーションが停止や配備解除した後も、Webアプリケーション内で起動されたスレッドが、残っているとメモリリークにつながります。このスレッド残留を検出した場合に、メモリリークの危険性を注意喚起するログを出力するか否かを指定します。 false
com.nec.webotx.enterprise.web.connector.checkLastProcessTimeInterval IIOPプラグインとWebコンテナとの通信状況のチェック間隔を秒で指定します。 1800
com.nec.webotx.enterprise.web.connector.fileSwitchSize IIOPプラグインが扱うメッセージのサイズが大きい場合にテンポラリファイルを利用しますが、そのしきい値(Kbyte)を指定します。 128
com.nec.webotx.enterprise.web.connector.iiopDriveMode fileSwitchSize で指定したサイズを超えた場合に利用する一時媒体にメモリを利用するかファイルを利用するかどうかを指定します。
設定値は"file"か"memory"で指定します。
ファイル("file")
com.nec.webotx.enterprise.web.connector.iiopSendMaxSize IIOPプラグインとWebコンテナ間でやりとりするメッセージを分割送信する場合のサイズ(Kbyte)を指定します。 128
com.nec.webotx.enterprise.web.connector.poolBufferSize IIOPプラグインからのリクエストを処理する時に使用するバッファ領域の初期個数を指定します。 5
com.nec.webotx.enterprise.web.connector.securityEnabled アドバンスドモード時、Cookie に登録したセッション情報にセキュアオプションを付加するか否かを指定します。 false
com.nec.webotx.enterprise.web.connector.useBodyEncodingForURI ContentType又はRequest.setCharacterEncodingメソッドで指定されたエンコーディングをURLのデコードに使用するか否かを指定します。 false
com.nec.webotx.enterprise.web.connector.URIEncoding 「http://contents?a=%12%34」形式で記述されたURLをデコードする際の文字エンコーディングを指定します。 UTF-8
com.nec.webotx.webcontainer.performance EJBを使用しない場合に有用なEJB呼び出し時用の処理のスキップとリスナのMO登録をスキップして性能改善を行うか否かを指定します。 true
com.nec.webotx.enterprise.overrideablejavaxpackages Web アプリケーション内に配置したクラスのうちパッケージ名がjavax、sun、org 等で始まるクラスは参照することができません。参照を許可するパッケージをここで指定します。複数設定する場合はカンマで区切って指定します。("javax.sub,org.sub"等)
com.nec.webotx.enterprise.web.InvalidOverridableJavaxPackages Webappクラスローダが自身でロードするクラスから除外するパッケージを指定します。
com.nec.webotx.enterprise.registerRequest リクエスト毎に発生する MO 登録処理を行うかどうかを指定します。 false
jvmRoute ロードバランサを使用して、サーバ固定で振り分けたい場合にjsessionidに付加させる任意の文字列を指定します。プラグインによるStickyセッションの負荷分散を使用する場合には値にワーカ名(ajp13など)を指定してください。
com.nec.webotx.enterprise.web.enablePipelineRequestResponseChain Valveで生成したRequestオブジェクトやResponseオブジェクトをサーブレットまで届けるかどうかを指定します。 false
com.nec.webotx.enterprise.checkURLPatternAfterMatching URLのパス解析処理やWebアプリケーションの認証処理において、WebOTX V7 以前と同等の動作をするかどうかを指定します。
(認証対象外のURLに":"(コロン)を含む場合、URLを異常とするかどうかを指定します。)

true :異常とします
false:正常とします(V7互換)

[注意制限事項 > 3. Webコンテナ] の(WebOTX V7以前からV8へ移行する際の注意事項について)も参照してください。
true
user.language Webコンテナが動作する言語ロケールを指定します。 動作環境に依存
com.nec.webotx.web.server.isTransactionEnabled Express エディションでWebコンテナのCMTをOFFにする場合にはfalseを指定します。 true
org.apache.catalina.session.useConcurrentHashMap セッションオブジェクトの属性の管理にConcurrentHashMapを使用するかどうかを指定します。 false
com.nec.webotx.jasper.compiler.NO_FINAL_VARIABLES JSPの暗黙オブジェクトである request, response, pageContext,application, config,page の final 宣言を付けるかどうかを指定します。 ※この設定は WebOTX Media V9 Release 4 からインストールした場合に有効です。

true :final宣言を付けません(V8互換)
false:final宣言を付けます
false
org.apache.jasper.compiler.PageInfo.defaultSessionEnabled JSPのpageディレクティブのsession属性のデフォルトを指定します。 true
org.apache.catalina.core.ContextAttributeSharing WebアプリケーションコンテキストのAttribute情報(javax.servlet.ServletContext.getAttribute()/setAttribute()する情報)をプロセスグループのプロセス間で共有するかを指定します。Memo_1
ただしプロセスグループのプロセス数が1の場合、共有機能は働きません。

true:共有します
false:共有しません

既定値はtrueですが、前述の通りプロセス数が1の場合はfalseの動作となります。
true
com.nec.webotx.enterprise.forwardResponseFlush RequestDispatcherクラスの forward メソッドを利用してリクエストの別のサーブレットに転送した場合に、forward元のリクエストが終了してからレスポンスをflushするのか(false設定動作)、forward先の処理が終了した時点でレスポンスをflushするのか(true設定動作)を指定します。

※本設定はスタンダードモードでのみ有効です。 アドバンスドモードは、信頼性を確保するため、リクエスト受信、リクエスト処理、レスポンス送信と各フェーズ分けて処理する仕組みを採用しています。このため、アドバンスドモードでは常にforward元のリクエストが終了してからレスポンスをflushします。
true
com.nec.webotx.webcontainer.async.wait.timeout WebアプリケーションがServlet3.0の非同期処理を利用する場合、非同期処理のレスポンスの書き込みをIIOPプラグインが待ち受けますが、その際のタイムアウト値(ミリ秒)を指定します。タイムアウトした場合、IIOPプラグインは再度レスポンスを取得するためポーリングします。

IIOPプラグインのタイムアウト値(worker.otxiiop.iiop_timeout)を変更している場合に、その値よりも小さくなるよう(90%程度)指定してください。IIOPプラグインのタイムアウト値より大きい値を設定した場合、IIOPプラグインのタイムアウトが先に発生します。worker.otxiiop.iiop_timeoutの詳細は、「1.4.5.2. IIOPプラグインの設定項目一覧」を参照してください。

※本設定はIIOPプラグインを利用するアドバンスドモードでのみ有効です。
27000
com.nec.webotx.javax.faces.convert.EnumConverter.nullValueReturnNull 以下のJSF APIにおいて、引数"value"がnullの場合にnullを返却するか、長さが0の文字列("")を返却するかを指定します。
クラス
  javax.faces.convert.EnumConverter

メソッド
  public String getAsString(FacesContext context, UIComponent component, java.lang.Object value)

true :nullを返却します
false:長さが0の文字列("")を返却します

true
com.nec.webotx.enterprise.web.WebContainer.overrideWebxml 配備記述子強制設定機能を有効にするかどうかを指定します。 false
org.apache.jasper.compiler.Parser.TAGATTRIBUTE_UNIQUECHECK JSPコンパイル時にタグ属性の重複エラーチェックを行うか否かを指定します。 true を設定した場合は重複チェックを行い、false を設定した場合は重複チェックを行いません。 WebOTX V8までは重複チェックを行いません。false設定がV8互換の動作になります。 重複チェックを行わない場合、同じ名称の属性は、後から設定した値が有効になります。 true
com.nec.webotx.webcontainer.EnableClearReferences Webアプリケーションの配備解除時やドメイン停止時にメモリリークを検知する機能を有効にするか否かを指定します。

true :メモリリークの検知を有効にします
false:メモリリークの検知を有効にしません

true
com.nec.webotx.webcontainer.jsp.TldInTags implicit.tld 以外の*.tldファイルがWEB-INF/tags に存在する事を許可するか否かを指定します。

true :implicit.tld 以外の*.tldファイルがWEB-INF/tags に存在する事を許可します
false:implicit.tld 以外の*.tldファイルがWEB-INF/tags に存在する事を許可しません

false

Memo_1
共有機能を使用する場合、Attributeに設定するObjectはシリアライズできるものに限ります。


1.4.3. HTTPのみのセッションレプリケーション

WebOTX V7.1より、HTTPのみセッションレプリケーションを利用できるようになりました。 従来、レプリケーションを行うとJDBCデータソース、JMSリソースも同じ内容となってしまい、ドメインごとに異なる設定内容にできませんでした。 これにより、複数のWebコンテナおよびEJBコンテナそれぞれにHTTPセッションの共有が容易にできるようになります。

HTTPのみセッションレプリケーションを利用するには、session-replication-jndi-url に、つぎのように設定します。

  rmiiiop://<ホスト1>:<JNDIサーバポート1>,<ホスト2>:<JNDIサーバポート2>…

ホスト名にはレプリケーションさせるJNDIサーバが動作しているホスト名またはIPアドレスを記述します。

JNDI サーバポート番号はJNDI サーバが動作しているWebOTX ドメインの組み込みIIOP リスナのポート番号となります。インストール時に作成されるdomain1のポート番号は7780 です。省略したときは自ドメインの組み込みIIOP リスナのポート番号が使用されます。

複数のWebOTXドメイン間でHTTPセッションをレプリケートするときはレプリケートする全てのWebOTXドメインのJNDIサーバのホスト名、ポート番号を列挙した指定を各WebOTXドメインに対して設定します。列挙する順番は意識する必要はありません。

例えば二つのWebOTXドメインdomain1とdomain2でHTTPセッションレプリケーションを行うためには

  host1: domain1のホスト名

  port1: domain1の組み込みIIOP リスナのポート番号

  host2: domain2のホスト名

  port2: domain2の組み込みIIOP リスナのポート番号

のように設定されている場合、

  rmiiiop://host1:port1,host2:port2

をdomain1とdomain2のsession-replication-jndi-url 属性に設定します。

1.4.3.1. HTTPのみのセッションレプリケーションの設定方法

運用手順
(1) 運用管理コマンドによる設定

次の運用管理コマンドで設定します。

otxadmin> set server.web-container.session-replication-jndi-url=rmiiiop://<ホスト1>:<JNDIサーバポート1>,<ホスト2>:<JNDIサーバポート2>…

<例>

otxadmin> set server.web-container.session-replication-jndi-url=rmiiiop://host1:7780,host2:7780
(2) 設定の反映

ドメインを再起動して、設定を反映します。

1.4.4. Webサーバプラグイン定義ファイルの設定方法

Webサーバプラグインに関する設定について説明します。

1.4.4.1. 動的反映しない設定方法

WebOTXには、Webアプリケーションが配備されたことを自動的にWebOTX Web Server(Apache)などの外部Webサーバに反映させる仕組みがあり、デフォルトではこの機能が有効になっています。 この機能により、ドメインを再起動することなく新規に配備されたWebアプリケーションの存在を外部Webサーバに認識させています。 動的反映の処理には、ある程度負荷がかかるため、Webアプリケーションの更新のないシステムでは不要な負荷がかかることになります。そこで、この動的反映をしない設定をすることによって負荷を低減することができます。

Caution
この設定を行った場合、新規に配備されたWebアプリケーションを外部Webサーバに認識させるには、外部Webサーバおよびドメインを再起動する必要があります。

Caution
環境設定ツールで設定を行うと、以下の設定は初期化されデフォルトの「動的反映を行う」状態になります。環境設定を行った場合は、再度、下記の設定を行ってください。

A: Web版統合運用管理コンソールを利用した設定手順

動的反映しない設定をWeb版統合運用管理コンソールから行うことができます。その他の項目についてのWeb版統合運用管理コンソールを使用した設定方法については「1.4.6. Web版統合運用管理コンソールを利用したプラグインの設定方法」を参照してください。

  1. Web版統合運用管理コンソールへの接続

    Webブラウザを起動し、連携設定を行ったドメインのWeb版統合運用管理コンソールへ接続します。"http://<host>:<port>/manager/"に接続してください。
    ※domain1のポート番号の既定値は 5858 です。

  2. 設定の変更

    管理コンソールの左側のツリーで「アプリケーションサーバ」-「Webコンテナ」-「Webサーバ連携設定」を選択します。
    「一般」タブにある「プラグインの動的反映オプション」で「Off」を選択し、「更新」ボタンで設定を反映してください。

  3. Webサーバの再起動

    以上で設定は完了です。Webサーバを再起動してください。

B: 手動での設定手順

WebサーバとWebコンテナが別マシン構成で、Web版統合運用管理コンソールを利用した設定手順が行えない場合は、以下の手順で手動設定を行ってください。

  1. 外部Webサーバの停止
  2. workers.propertiesの設定

    ${INSTANCE_ROOT}/config/WebCont/workers.propertiesに次の名称でワーカ名を追加してください。

    ajp13_original

    [workers.propertiesの例]

    #------ DEFAULT worker list ------------------------------------------
    #---------------------------------------------------------------------

    ps=/

    #
    # The workers that your plugins should create and work with
    #
    worker.list=ajp13, ajp13_original


    #
    #------ DEFAULT ajp13 WORKER DEFINITION ------------------------------
    #---------------------------------------------------------------------
    #

    #
    # Defining a worker named ajp13 and of type ajp13
    # Note that the name and the type do not have to match.
    #
    # TM_PLUGIN_PORT-start
    worker.ajp13.port=8099
    # TM_PLUGIN_PORT-end
    worker.ajp13.host=localhost
    worker.ajp13.type=ajp13
    worker.ajp13.connection_pool_size=150


  3. 外部Webサーバの起動

    外部Webサーバを起動し、設定内容を反映します。

1.4.4.2. Webサーバ起動後一度のみ動的反映する設定方法

ここではWebアプリケーションが配備されたことを外部Webサーバ起動後に一度だけ自動的にWebOTX Webサーバ(Apache)などの外部Webサーバに反映させる設定方法について説明します。

WebOTX Webサーバ(Apache)、またはIISを使用している場合は、起動後の初回リクエスト時にのみ動的反映を行います。

一度動的反映を行った以降は外部Webサーバを再起動するまで動的反映は行われません。

※環境設定ツールで設定を行うと、以下の設定は初期化されデフォルトの「動的反映を行う」状態になります。環境設定を行った場合は、再度、下記の設定を行ってください。

A: Web版統合運用管理コンソールを利用した設定手順

Webサーバ起動後一度のみ動的反映する設定をWeb版統合運用管理コンソールから行うことができます。その他の項目についてのWeb版統合運用管理コンソールを使用した設定方法については「1.4.6. Web版統合運用管理コンソールを利用したプラグインの設定方法」を参照してください。

  1. Web版統合運用管理コンソールへの接続

    Webブラウザを起動し、連携設定を行ったドメインのWeb版統合運用管理コンソールへ接続します。"http://<host>:<port>/manager/"に接続してください。
    ※domain1のポート番号の既定値は 5858 です。

  2. 設定の変更

    管理コンソールの左側のツリーで「アプリケーションサーバ」-「Webコンテナ」-「Webサーバ連携設定」を選択します。
    「一般」タブにある「プラグインの動的反映オプション」で「Once」を選択し、「更新」ボタンで設定を反映してください。

  3. Webサーバの再起動

    以上で設定は完了です。Webサーバを再起動してください。

B: 手動での設定手順

WebサーバとWebコンテナが別マシン構成で、Web版統合運用管理コンソールを利用した設定手順が行えない場合は、以下の手順で手動設定を行ってください。

  1. 外部Webサーバの停止
  2. workers.propertiesの設定

    ${INSTANCE_ROOT}/config/WebCont/workers.propertiesに次の名称でワーカ名を追加してください。

    ajp13_queryonce

    [workers.propertiesの例]

    #------ DEFAULT worker list ------------------------------------------
    #---------------------------------------------------------------------

    ps=/

    #
    # The workers that your plugins should create and work with
    #
    worker.list=ajp13, ajp13_queryonce


    #
    #------ DEFAULT ajp13 WORKER DEFINITION ------------------------------
    #---------------------------------------------------------------------
    #

    #
    # Defining a worker named ajp13 and of type ajp13
    # Note that the name and the type do not have to match.
    #
    # TM_PLUGIN_PORT-start
    worker.ajp13.port=8099
    # TM_PLUGIN_PORT-end
    worker.ajp13.host=localhost
    worker.ajp13.type=ajp13
    worker.ajp13.connection_pool_size=150


  3. 外部Webサーバの起動

    外部Webサーバを起動し、設定内容を反映します。

1.4.4.3. Webサーバプラグイン設定項目一覧

以下はWebサーバプラグイン(スタンダードモード)、IIOPプラグイン(アドバンスドモード)共通の設定項目一覧です。
対象ワーカタイプは次のとおりです。

Webサーバプラグイン:
AJP・・・"type"の値が"ajp13"であるワーカ名。負荷分散でない時に設定されているワーカ名
LB・・・"type"の値が"lb"であるワーカ名。負荷分散時の管理親ワーカ
SUB・・・"type"の値が"ajp13"であるワーカ名。負荷分散時の子ワーカ

IIOPプラグイン:
IIOP・・・"type"の値が"otxiiop"であるワーカ名。
ALL・・・IIOPプラグインの設定をワーカに反映させるための特別な記述子

連携設定項目:workers.properties(Webサーバプラグイン)、ior_workers.properties(IIOPプラグイン)

表1.4.4.3-1
プロパティ名 対象ワーカタイプ 説明、例 既定値
worker.list - ワーカ名のリストを指定します。一つ以上のワーカを指定する必要があり、複数指定する場合は,コンマ(,)区切りで記述します。

例:
worker.list=ajp13
※負荷分散機能使用時のワーカタイプの"lb"は1つだけ指定できます。
必ず最初(左)に指定してください。
ajp13(Webサーバプラグイン)
otxiiop(IIOPプラグイン)
worker.maintain - 再利用のためにコネクションを再構築する時間(秒単位)を指定します。
負荷分散時には指定した間隔でリクエストカウンタが初期化され、リクエスト振り分け割合が均一になります。

例:
worker.maintain=60
60
type AJP, SUB, IIOP ワーカのタイプを指定します。
デフォルト値はajp13(otxiiop)であり、Webサーバプラグインによる負荷分散機能を利用する場合はlbを指定してください。

例:
worker.ajp13.type=ajp13
ajp13(Webサーバプラグイン)
otxiiop(IIOPプラグイン)
host AJP, SUB ワーカのホスト名、またはIPアドレスを指定します。

例:
worker.ajp13.host=localhost
localhost
port AJP, SUB ワーカの使用するポート番号を指定します。

例:
worker.ajp13.port=8099
8099
socket_timeout AJP, SUB WebサーバとWebコンテナ間におけるソケット通信のタイムアウト時間(秒単位)を指定します。
指定した時間以上が経過すると、エラーを返し、リトライ処理を行います。
デフォルト値である0を指定すると、ソケット操作の待ち時間は無制限となります。

例:
worker.ajp13.socket_timeout=0
0
socket_keepalive AJP, SUB WebサーバとWebコンテナ間のコネクションに、一定間隔(OS依存)でソケットレベルでのKEEP_ALIVEメッセージを送信します。WebサーバとWebコンテナ間にファイアウォールを設置している場合はこの指定をtrueに設定することで、ファイアウォールにコネクションを切断されることを防ぐことができます。

例:
worker.ajp13.socket_keepalive=false
false
connection_pool_size
または
cachesize
AJP, SUB, IIOP Webサーバプラグイン:
WebサーバがWebコンテナに対して張るAJPコネクションの接続プールサイズの上限値を指定します。 Webサーバプラグインはプロセス毎にこの値の数だけ同時にコネクションを張ることができ、この値を超えたリクエストはエラーとなります。

IIOPプラグイン:
プロセス毎の同時処理リクエスト数を指定します。IIOPプラグインが張るコネクションはプロセスあたり1本となります。

※"cachesize"による指定も可能ですが、旧バージョンの表記のため、"connection_pool_size"を指定してください。

例:
worker.ajp13.connection_pool_size=150
150
connection_pool_timeout AJP, SUB WebサーバがWebコンテナに対して張ったコネクションが使用されていない時、コネクションを切断する前に維持しておく時間(秒単位)を指定します。
これはWebコンテナ上で動作するスレッド数を抑えるために使用します。
0 を設定した場合は、タイムアウトは発生しません。

例:
worker.ajp13.connection_pool_timeout=0
59
lbfactor SUB 負荷分散振り分け割合の重み付けを行います。例えば、ワーカAにワーカBの5倍のlbfactorを設定している場合、ワーカAは5倍のリクエストを処理することになります。

例:
worker.ajp13_A.lbfactor=5
worker.ajp13_B.lbfactor=1

1
balance_workers
または
balanced_workers
LB 負荷分散対象となるワーカ名のリストを指定します。複数指定する場合は,コンマ(,)区切りで記述します。
※"balanced_workers"による指定も可能ですが、旧バージョンの表記のため、"balance_workers"を指定してください。

例:
worker.ajp13.balanced_workers=ajp13_1,ajp13_2
なし
sticky_session LB 負荷分散時、セッションIDを伴った一連のリクエストがすべて同じサーバへ振り分けを行うかどうかを指定します。
※sticky_sessionの利用と均等な負荷分散は相反します。

例:
worker.ajp13.sticky_session=true
true
sticky_session_force LB 障害発生ドメインへのセッションIDを持ったリクエストに即座にエラーを返すかどうかを指定します。
この値がfalseの場合はリクエストセッションを破棄し、他のドメインへリクエストを振り分けます。

例:
worker.ajp13.sticky_session_force=false
false
method LB 負荷分散時にワーカの選択形式を指定します。
"R"(Request)を指定すると、リクエスト処理数の少ないワーカを選択します。
"S"(Session)を指定すると、セッション数の少ないワーカを選択します。
"T"(Traffic)を指定すると、ネットワークトラフィックが最も少ないワーカを選択します。
"B"(Busyness)を指定すると、その時点で処理中であるリクエストの数が最も少ないワーカを選択します。

例:
worker.ajp13.method=R
R
lock LB ロードバランサが共有メモリ内のデータをロックするかどうかを指定します。
"O"を指定すると、ロックを行いません。
"P"を指定すると、ロックを行いますが、そのため性能は劣化します。

例:
worker.ajp13.lock=O
O
reply_timeout AJP, SUB WebサーバからWebOTXへリクエストを送信した後(最後のAJPパケットをWebOTXに送信した後)の、WebOTXからのレスポンス待ちタイムアウト時間をミリ秒で指定します。
ここで指定した値を経過してもWebOTXからレスポンスが来なかった場合にタイムアウトと判断しますが、ソケットの終了処理などがあるため実際にクライアントに通知されるまでにはタイムラグがあります。
なお、このタイムアウトが発生した場合も retries で指定した回数分リトライを実施します。

* 0〜2147483647までの値が指定可能です。
* "0"以下の値が指定された場合、タイムアウトはしません。
* ApacheのJK_REPLY_TIMEOUTによって上書きされます。

例:
worker.ajp13.reply_timeout=5000
0
retries AJP, SUB 正常な応答が返ってこなかった場合に行うリトライを含めた総リクエスト回数を指定します。下限値は1であり、それより小さな値を指定しても、1が設定されます。

例:
worker.ajp13.retries=3
3
retry_interval AJP, SUB リトライを行う前に待機する時間(秒単位)を指定します。

例:
worker.ajp13.retriy_interval=3
0
recovery_options AJP, SUB Webコンテナで障害発生した際にどのようなリトライ処理を行うかをビットマスクで指定します。
設定可能な値は以下であり、例えば1と2を有効にしたい場合は3を指定します。

0: 障害発生時は常にリトライを行う。
1:リクエスト処理中にWebコンテナで障害発生した場合はリトライを行いません。
2:リクエストヘッダをクライアントに送信した後にWebコンテナで障害が発生した場合はリトライを行いません。
4:ブラウザに表示するレスポンスを作成中にWebコンテナで障害発生した場合にWebコンテナとのコネクションを切断します。
8:HTTPメソッドがHEADの場合はリトライを行います。(1,2よりも優先されます)
16:HTTPメソッドがGETの場合はリトライを行います。(1,2よりも優先されます)

例:
worker.ajp13.recovery_options=0
0
fail_on_status AJP, SUB Webコンテナが一時的に意図しないエラーコードを返してしまうような場合にこの指定を行ってください。
ここに指定したステータスコードがWebコンテナから返ってきた場合、503に変換され、クライアントに返却されます。

例:
worker.ajp13.fail_on_status=404,500
0
max_packet_size AJP, SUB AJPパケットの最大バイト数を指定します。最大値は65536(Byte)です。
この設定を変更する場合、WebOTX側の"packetSize"の指定も変更する必要があります。
例:
worker.ajp13.max_packet_size=8192
8192
mount AJP, LB, IIOP ワーカのマップ情報をスペース区切りで表示します。

例:
worker.ajp13.mount=/WebAP1/*
なし
secret AJP, LB, SUB 秘密の文字列を登録することができます。
この設定によりWebコンテナの"request.secret"で設定された文字列と同一の文字列が設定されたワーカからのリクエストのみを受け付けることができます。

例:
worker.ajp13.secret=secret
なし
max_reply_timeouts LB 負荷分散環境において、指定されたワーカがエラー状態になるまでの reply_timeout の回数を指定します。
通常、reply_timeout が指定されている場合、retries の回数リトライしたあとタイムアウトと判断しワーカをエラー状態にします。しかし、max_reply_timeouts を指定した場合、指定した回数reply_timeout が発生するまでワーカをエラー状態にしません。
reply_timeout の回数が max_reply_timeouts を超えた場合、ワーカはエラー状態になり、worker.maintain で指定された間隔でメンテナンスされるまでエラー状態のままとなります。
時間のかかるリクエストがあってもワーカをすぐにエラー状態にしたくない場合に指定します。

* 0〜2147483647 までの値が指定可能です。
* max_reply_timeouts はワーカ毎にチェックされます。

例:
worker.ajp13.max_reply_timeouts=0
0
recover_time LB リクエストがエラーとなった時にこのワーカを使用しない時間(秒単位)を指定します。
この時間が経過するとワーカは新規のリクエスト処理を試みます。

例:
worker.ajp13.recover_time=60
60
activation SUB 負荷分散時にワーカを"無効"または"停止"の状態に設定します。
"無効"のワーカはセッション付きのリクエストのみ受け付けます。
"停止"のワーカはすべてのリクエストを拒否します。
無効化には"d"または"D"、停止するには"s"または"S"を記述してください。

例:
worker.ajp13.activation=d
なし
route SUB 負荷分散時にセッション固定でサーバに振り分けるためのjvmRouteの設定を行います。
WebコンテナのjvmRouteの設定と同一の値を設定してください。

例:
worker.ajp13.route=ajp13
<ワーカ名と同一>
distance SUB 負荷分散時にワーカ間の選択優先度を設定します。
distanceの値が最も小さいワーカが選択されますが、そのワーカがエラー状態の場合には次に小さいワーカが選択されるようになります。

例:
worker.ajp13.distance=0
0
domain SUB 負荷分散時に同じドメイン名を共有するワーカを一つのワーカとしてみなします。
sticky_sessionを利用している場合、ドメイン名はセッションのルートとして使用されます。
例えば振り分け先サーバが6つ以上ある場合などにワーカを2種類のドメインでグループ化することにより、セッション複製頻度を低くすることができます。

例:
worker.ajp13.domain=domain1
なし
redirect SUB セッション固定で該当ワーカがエラー状態である時、この指定を行ったワーカを代わりに選択します。

例:
worker.ajp13.redirect=ajp23
なし
socket_connect_timeout AJP, SUB ソケットコネクションのタイムアウト時間をミリ秒で指定します。
0〜2147483647までの値が指定可能です。
"0"以下の値が指定された場合、タイムアウトはしません。
また、2147483647以上の値が指定された場合は、2147483647で動作します。

ソケットコネクションのタイムアウト時間は、JKプラグインとリモートホスト間の通信で使われます。 もし、リモートホストのレスポンスがこのタイムアウト時間内で返ってこない場合、 JKプラグインはエラーを返してリトライを行います。
socket_timeout*1000
ping_mode AJP, SUB リクエストを送る前に小さなパケットを使ってコネクションの状態をチェックするpingモードを指定します。
指定可能なモードは以下の通りです。

C(Connect):コネクション確立時
P(Prepost):毎リクエスト送信前
I(Interval):一定期間置き
A(All):上記すべてのタイミング

複数のモードを設定する場合、区切り文字なしで並べて記述します。
モードの組み合わせに制限はありません。そのため、すべてのモードを並べて記述することも可能です。

例:
ping_mode=CP
pingを行わない
ping_timeout AJP, SUB プラグインからコンテナに送ったpingが返ってくるまでに待つ時間をミリ秒で指定します。
0〜2147483647までの値が指定可能です。
"0"以下の値が指定された場合、タイムアウトはしません。
10000
connection_ping_interval AJP, SUB ping後にpingが返ってくるまでコネクションをアイドル状態にする時間を秒で指定します。
本プロパティは、ping_modeでintervalが指定されている場合、または、 connection_ping_intervalで0以上が指定されている場合に有効になります。
ping_modeでintervalが指定されている場合、デフォルト値は(ping_timeout/1000)*10となります。
0または(ping_timeout/1000)*10
connection_acquire_timeout AJP, SUB プールしているコネクションを取得する際のタイムアウト時間をミリ秒で指定します。
0〜2147483647までの値が指定可能です。
"0"が指定された場合、タイムアウトはしません。
retries*retry_interval
retry_interval AJP, SUB リトライするまでのワーカのスリープ時間をミリ秒で指定します。
負荷分散時、retriesを設定しているワーカに指定の時間でリトライを試みます。
0〜2147483647までの値が指定可能です。
100
error_escalation_time AJP, SUB 負荷分散時、エラー状態のノードからレスポンスが返されない場合 quite serious状態にする時間を秒で指定します。
recover_time/2
session_cookie AJP, SUB 負荷分散でセッションスティッキーを使用したとき、 セッションによって振り分け先を固定するためにセッションIDを用います。 もし、URLで指定した session_path の値が読み取れなかった場合に session_cookie の値でセッションを指定します。 JSESSIONID
session_path AJP, SUB 負荷分散でセッションによって振り分け先を固定するために sticky_session を有効にしていた場合(デフォルト true)、 URL でセッションIDを session_path の値で指定します。 ;jsessionid


連携設定項目:mod_jk-22.conf-auto(Webサーバプラグイン)、mod_jk_om-22.conf-auto(IIOPプラグイン)
※ドメインを再起動すると、mod_jk-22.conf-auto、mod_jk_om-22.conf-autoファイルは存在しない場合に作成されます。

表1.4.4.3-2
プロパティ名 対象ワーカタイプ 説明、例 既定値
JkWorkersFile AJP, IIOP Webコンテナと連携するために必要な設定ファイルのパスを指定します。これはWebサーバ起動時に一回のみ読み込まれます。

例:
JkWorkersFile "C:/WebOTX/domains/domain1/config/WebCont/workers.properties"
${INSTANCE_ROOT}/config/WebCont/workers.properties
JkShmFile AJP, IIOP UNIX系OSでのみ使用する共有メモリファイルを指定します。
この設定を行っていない場合、デフォルト箇所にファイルが作成され、WebServerのログに下記が出力されます。
[warn] No JkShmFile defined in httpd.conf. Using default /opt/WebOTX/domains/domain1/logs/jk-runtime-status

例:
JkShmFile "/opt/WebOTX/domains/domain1/logs/jk_shm"
${INSTANCE_ROOT}/logs/jk-runtime-status
JkShmSize AJP, IIOP 共有メモリファイルのサイズ(KB単位)を指定します。

例:
JkShmSize 64
OSに依存
JkMountFile AJP, IIOP ワーカが読み込むコンテキスト情報を記述するファイルのパスを指定します。

例:
JkMountFile "C:/WebOTX/domains/domain1/config/WebCont/uriworkermap.properties-auto"

uriworkermap.properties-auto の記述例
----------------
/WebAP1=ajp13
/WebAP1/*=ajp13
----------------
${INSTANCE_ROOT}/config/WebCont/uriworkermap.properties-auto
JkMountFileReload AJP, IIOP "JkMountFile"で指定したファイルを再読み込みする間隔(秒単位)を指定します。

例:
JkMountFileReload 60
0(再読み込みをしない)
JkMount AJP, IIOP ワーカが読み込むコンテキストを指定します。
※IIOPプラグイン使用時、コンテキストルート"/"に配備したアプリケーションにアクセスする場合には"/*"を指定してください。

例:
JkMount "/WebAP1" ajp13
JkMount "/WebAP1/*" ajp13

なし
JkUnMount AJP, IIOP Webコンテナ側にリクエストを送信しないコンテキストを指定します。Webサーバ側に配置したコンテンツにアクセスしたい場合に指定してください。
例:
JkUnMount "/WebAP1" ajp13
JkUnMount "/WebAP1/*" ajp13


※ Webサーバ側に配置したコンテンツにアクセスする場合は以下の設定を行ってください。
注意点として、連携設定項目である *.properties-auto はドメインを再起動すると上書きされ変更が消されてしまいますので、連携設定項目は *.properties-auto ファイルをコピーして別名保存したものを指定してください。

Apache HTTP Server連携の場合:
"uriworkermap.properties-auto" を別名保存して、以下の例の設定を行います。
設定後は "mod_jk-22.conf-auto" または "mod_jk_om-22.conf-auto" の "JkMountFile" に別名保存したファイルへのパスを指定します。

IIS連携の場合:
"uriworkermap.properties-auto" を別名保存して、以下の例の設定を行います。
設定後は "isapi_redirect.properties" の "worker_file" に別名保存したファイルへのパスを指定します。

なし
JkMountCopy AJP, IIOP "On","Off","All"の設定が可能であり、"On"を指定されたバーチャルサーバにはメインサーバのマウントがコピーされます。(JkMount、JkUnMountの設定を含む)"Off"を指定するとコピーされません。
"All"を指定するとすべてのバーチャルサーバに設定が反映されます。

例:
JkMountCopy All
All
JkWorkerIndicator AJP ワーカ名を識別するためのApache環境変数名を指定します。

例:
JkWorkerIndicator
JK_WORKER_NAME
JkLogFile AJP, IIOP Webサーバプラグイン、IIOPプラグインが出力するログファイルのパスを指定します。

例:
JkLogFile "C:/WebOTX/domains/domain1/logs/web/mod_jk-22.log"
${INSTANCE_ROOT}/logs/web/mod_jk-22.log
JkLogLevel AJP, IIOP ログの出力レベルを指定します。
設定可能な値は error/warn/info/debug/trace です。

例:
JkLogLevel error
error
JkLogStampFormat AJP, IIOP ログファイルの出力形式を指定します。
設定可能な値は以下になります。

%a 短縮された曜日名
%A 完全な曜日名
%b 短縮された月の名前
%B 完全な月の名前
%y 短縮された年
%Y 完全な年
%m 月
%d 日付
%H 時間
%M 分
%S 秒
%Q ミリ秒
%q マイクロ秒
%I 12時間表示での時間(01から12まで)
%j 年間での日付を10進数で表示 (001 から 366)
%p 時刻表示におけるAMまたはPMの表示
%U 年間で何番目の週であるかを表示(年間の最初の日曜を最初の週の最初の日として数える)
%W 年間で何番目の週であるかを表示(年間の最初の月曜を最初の週の最初の日として数える)
%w 10進数で表示された曜日(日曜は0)
%x 月/日付/年
%X 時間:分:秒
%c 月/日付/年 時間:分:秒
%Z タイムゾーンの表示
%% 文字列"%"

例:
JkLogStampFormat "%a %b %d %H:%M:%S.000 %Y"
"%a %b %d %H:%M:%S.000 %Y"
[曜日 月 日 時:分:秒.ミリ秒 年]
JkExtractSSL AJP SSL通信を許可するかどうかを指定します。

例:
JkExtractSSL On
On
JkHTTPSIndicator AJP SSLを示すApache環境変数名を指定します。

例:
JkHTTPSIndicator HTTPS
HTTPS
JkCERTSIndicator AJP SSLクライアント証明書を示すApache環境変数名を指定します。

例:
JkCERTSIndicator SSL_CLIENT_CERT
SSL_CLIENT_CERT
JkCIPHERIndicator AJP SSL暗号を示すApache環境変数名を指定します。

例:
JkCIPHERIndicator SSL_CIPHER
SSL_CIPHER
JkCERTCHAINPrefix AJP SSLクライアントチェーン証明書を示すApache環境変数名を指定します。

例:
JkCERTCHAINPrefix SSL_CLIENT_CERT_CHAIN_
SSL_CLIENT_CERT_CHAIN_
JkSESSIONIndicator AJP SSLセッションを示すApache環境変数名を指定します。

例:
JkSESSIONIndicator SSL_SESSION_ID
SSL_SESSION_ID
JkKEYSIZEIndicator AJP SSL暗号鍵のサイズを示すApache環境変数名を指定します。

例:
JkKEYSIZEIndicator SSL_CIPHER_USEKEYSIZE
SSL_CIPHER_USEKEYSIZE
JkOptions AJP, IIOP プラグインのオプション設定を指定します。
項目の前に"+"か"-"を付けることで有効/無効を指定します。
デフォルトではForwardURIProxyが有効であり、+ForwardKeySizeの設定が記述されます。
設定可能な値は以下になります。

ForwardURIProxy:受け取ったURIを部分的に再エンコード処理を行います。
ForwardURICompatUnparsed:受け取ったURIを文字列表記に戻し、Webコンテナへ転送します。これはmod_rewriteと併用することはできません。
ForwardURICompat:受け取ったURIをデコードし、Webコンテナへ転送します。
ForwardURIEscaped:受け取ったURIをそのままWebコンテナへ転送します。
ForwardKeySize:Servlet API 2.3で要求されているSSLキーサイズを転送します。

例:
JkOptions +ForwardKeySize
+ForwardKeySize
JkEnvVar AJP リクエスト項目としてWebコンテナに送られる独自の環境変数を指定します。
Webコンテナ側でrequest.getAttribute(attributeName)を呼び出すことでこの値が参照できますが、request.getAttributeNames()ではリスト表示されません。

例:
JkEnvVar VALIABLE
なし
JkWatchdogInterval AJP, IIOP 定期的にメンテナンスする間隔を秒指定します。
メンテナンスをするスレッドはバックグラウンドで動作します。 メンテナンス時にはワーカでアイドル状態となっているコネクションのチェックを行います。
worker.maintain よりも小さい値を設定した場合、watchdog スレッドは生成されますが、コネクションのチェックは行われません。
指定可能な値の範囲は、0〜2147483647で。0が指定された場合、watchdog スレッドは生成されません。
0
JkLocalNameIndicator AJP, IIOP ローカル名を示すApache環境変数名を指定します。

例:
JkLocalNameIndicator JK_LOCAL_NAME
JK_LOCAL_NAME
JkLocalPortIndicator AJP, IIOP ポート番号を示すApache環境変数名を指定します。 JK_LOCAL_PORT
JkRemoteHostIndicator AJP, IIOP リモートホストを示すApache環境変数名を指定します。 JK_REMOTE_HOST
JkRemoteAddrIndicator AJP, IIOP リモートアドレスを示すApache環境変数名を指定します。 JK_REMOTE_ADDR
JkRemoteUserIndicator AJP, IIOP リモートユーザを示すApache環境変数名を指定します。 JK_REMOTE_USER
JkAuthTypeIndicator AJP, IIOP 認証タイプを示すApache環境変数名を指定します。 JK_AUTH_TYPE


以下はIIS連携時の設定です。
設定を反映させるには下記のレジストリファイルを編集し、実行してください。

連携設定項目:isapi_redirect.properties

表1.4.4.3-3
プロパティ名 説明、例 既定値
extension_uri IISに設定しているisapi_redirect.dllへのパスを指定します。

例:
extension_uri=/domain1_webcont/isapi_redirect.dll
/<ドメイン名>_webcont/isapi_redirect.dll
log_file ログファイルを生成する場所を指定します。

例:
log_file=C:\WebOTX\domains\domain1\logs\web\isapi.log
${INSTANCE_ROOT}\logs\web\isapi.log
log_level ログ出力レベルを指定します。
設定可能な値は error/warn/info/debug/trace です。

例:
log_level=error
error
worker_file Webコンテナと連携するために必要な設定ファイルのパスを指定します。これはWebサーバ起動時に一回のみ読み込まれます。

例:
worker_file="C:\WebOTX\domains\domain1\config\WebCont\workers.properties
${INSTANCE_ROOT}\config\WebCont\workers.properties
worker_mount_file ワーカが読み込むコンテキスト情報を記述するファイルパスを指定します。

例:
worker_mount_file=C:\WebOTX\domains\domain1\config\WebCont\uriworkermap.properties-auto
${INSTANCE_ROOT}\config\WebCont\uriworkermap.properties-auto
worker_mount_reload worker_mount_fileで指定したファイルを再読み込みする間隔(秒単位)を指定します。

例:
worker_mount_reload=60
なし
strip_session この設定をtrueにするとURLの中からセッションID(jsessionid=で始まる文字列)を除き、リクエストを行います。

例:
strip_session=false
false
auth_complete IIS5.1との互換性を保つために必要となる場合があります。
デフォルト値は1であり、認証時にSF_NOTIFY_AUTH_COMPLETEを使用します。
0を指定すると、SF_NOTIFY_PREPROC_HEADERSを使用し、HTTPのPUTメソッドを利用する時にこれが必要になる場合があります。

例:
auth_complete=1
1
uri_select URIの文字コード形式を指定し、proxy/parsed/unparsed/escapedが指定可能です。
セキュリティの観点からデフォルト値である"proxy"を推奨します。
"parsed"を指定すると、".."のような文字列も含みエンコード処理を行います。
"unparsed"URLはエンコード処理を行いません。
"escaped"を設定すると、セッションIDが付いているリクエストに対しては"unparsed"と同様の動作をし、その他は"parsed"と同様の動作をします。
"proxy"を指定すると、"parsed"でエンコードされたURIの中で".."のような不正なパスに再エンコード処理を行います。

例:
uri_select=proxy
proxy
reject_unsafe この値をtrueに指定すると、"%"と"\"を含むURLにはエラーを返します。
ほとんどのWebアプリケーションではこのようなURLは使用しないため、URL操作を行う攻撃を防ぐことができます。

例:
reject_unsafe=false
false
log_rotate ログローテーションを行うか行わないかの設定をします。
0を設定した場合はログローテーションを行いません。 1以上を設定した場合はログローテーションの世代数を設定します。

例:
log_rotate=2
3
rotate_size ログローテーションを行うログのサイズ(Mbyte)を設定します。

例:
rotate_size=5
0
rotate_interval ログローテーションを行う時間(秒)を設定します。1日を指定する場合は 86400 を設定します。

例:
rotate_interval=86400
86400
watchdog_interval watchdogスレッドが走る時間間隔を秒で指定します。
このwatchdogスレッドはバックグラウンドで定期的に使われていないコネクションのチェックを行います。
worker.maintainよりも小さい値を設定した場合は、watchdogスレッドは生成されますが、
worker.maintain秒以上経過していないとコネクションのチェックを行ないません。
なお、"0"を指定した場合は、コネクションのチェックを行ないません。
0
error_page 200以外のレスポンスの時にリダイレクトするエラーページを指定します。 なし
enable_chunked_encoding チャンクエンコーディングを有効にするかしないかを指定します。
trueの場合、チャンクエンコーディングを有効にします。
trueにする場合、"1" 、"T"または"t"で始まる文字列を指定します。
falseにする場合、"0"、"F"または"f"で始まる文字列を指定します。
false


1.4.4.4. バーチャルホストごとにコンテキスト名を設定する方法

WebOTX Webサーバ(Apache)ではバーチャルホストを複数作成することができ、バーチャルホストごとにコンテキスト名の設定を行うことができます。

設定方法

  1. WebOTX Webサーバ(Apache)のバーチャルホストの作成

    下記のURLを参照してバーチャルホストを作成してください。

    http://httpd.apache.org/docs/2.2/vhosts/

  2. 設定
  3. WebOTX Webサーバ(Apache)の再起動

例えばバーチャルホストA、Bを作成し、バーチャルホストAには /aaa というコンテキスト名を、バーチャルホストBには /bbb というコンテキスト名を設定する場合は ${INSTANCE_ROOT}/config/WebServer/httpd.conf に以下のように設定します。

バーチャルホストAに対して /aaa にリクエストを行うと正常にレスポンスが返り、/bbb にリクエストを行うとコンテキスト名を設定していないため 404エラーが返ります。
また、バーチャルホストBに対してリクエストを行った場合は /aaa にリクエストすると 404エラーが返り、/bbb にリクエストすると正常にレスポンスが返るようになります。

1.4.5. IIOPプラグイン定義ファイルの設定方法

WebOTX Application Server Standard/Enterprise では、Webアプリケーションを動作させるWebコンテナをTPモニタ上でマルチプロセス動作する機能を提供します。 このマルチコンテナ機能を利用する際には、外部Webサーバ(WebOTX Webサーバ(Apache))とWebコンテナをIIOPプラグインで連携する仕組みになっています。

IIOPプラグインの連携設定は、環境設定ツールを使用して連携設定を行います。また、さらに詳細な連携設定は、設定ファイルを直接編集して行います。ここでは、IIOPプラグインの連携の詳細設定、エラードキュメントを指定する方法を説明します。 環境設定ツールを使用した連携設定については「セットアップガイド・インストール」を参照してください。

1.4.5.1. IIOPプラグイン定義ファイルの設定手順

外部Webサーバ(WebOTX Webサーバ(Apache))とWebコンテナの連携設定を行ったあとに、以下の設定をしてください。

設定手順
  1. 外部Webサーバの停止
  2. ior_workers.propertiesの設定

    設定ファイル ${INSTANCE_ROOT}/config/WebCont/ior_workers.propertiesを編集し、保存します。

    [ ior_workers.propertiesの設定例]

    # TM_PLUGIN_IOR-start
    worker.list=otxiiop
    otx_domain=C:/WebOTX/domains/domain1
    worker.otxiiop.type=otxiiop
    worker.otxiiop.default_ior=localdomain
    worker.otxiiop.ior_def.localdomain=$(otx_domain)/config/httpgateway.ior
    worker.otxiiop.connection_pool_size=150
    worker.otxiiop.http_error.list=404,500
    worker.otxiiop.http_error.404.doc=file:///D:/temp/error/404.html
    worker.otxiiop.http_error.500.doc=file:///D:/temp/error/500.html
    worker.otxiiop.http_error.charset=Shift_JIS
    # TM_PLUGIN_IOR-end


  3. 外部Webサーバの起動

    外部Webサーバを起動し、設定内容を反映します。

1.4.5.2. IIOPプラグインの設定項目一覧

以下は、IIOPプラグイン特有の設定項目一覧です。

IIOPプラグインが自ドメイン(環境設定ツールで設定したドメイン)以外に配備されたコンテキストを呼び出すためコンテキストとIORを対応付けする情報定義を行うことができます。

また、HTTPエラーおよびCORBAエラーに対応するエラードキュメントを指定することができます。 IIOPプラグインの設定とともに、Apacheのエラードキュメントの設定を行ってください。エラーの内容により有効になる設定箇所が変わります。

※IIOPプラグインでは、負荷分散機能をサポートしていません。

連携設定項目:ior_workers.properties

表1.4.5.2-1
プロパティ名 対象ワーカタイプ 説明、例 既定値
worker.otxiiop.type IIOP otxiiopのワーカタイプの指定。設定値は"otxiiop" 固定です。

例:
worker.otxiiop.type=otxiiop
otxiiop
worker.otxiiop.default_ior IIOP デフォルトIORを指定します。
※必須項目、複数定義不可

例:
worker.otxiiop.default_ior=<IOR定義名>

パラメータ説明:
<IOR定義名>: IORを特定する名前
IOR定義名は"worker.otxiiop.ior_def.<IOR定義名>"によって定義されている必要があります。
なし
worker.otxiiop.ior_def.<IOR定義名> IIOP IORファイルの絶対パスを指定します。

例:
worker.otxiiop.ior_def.<IOR定義名>=<IORファイル>

パラメータ説明:
<IORファイルパス>: IORファイル(httpgateway.ior)の絶対パス
なし
worker.otxiiop.iiop_retry_count IIOP IIOPメソッド呼び出すリトライ回数を指定します。

例:
worker.otxiiop.iiop_retry_count=<リトライ回数>

パラメータ説明:
<リトライ回数>: IIOPメソッド呼び出しのリトライ回数
設定可能範囲は1以上です。
3
worker.otxiiop.iiop_retry_interval IIOP IIOPメソッド呼び出しリトライ時のインターバル時間を指定します。
デフォルト値は0です。 0を指定した場合のインターバル時間は100msとなります。

例:
worker.otxiiop.iiop_retry_interval=<インターバル時間>

パラメータ説明:
<インターバル時間>: IIOPメソッド呼び出しリトライ時の待ち時間(秒)
設定可能範囲は0以上の整数です。
0
worker.otxiiop.iiop_timeout IIOP IIOPメソッド呼び出しのタイムアウト時間を指定します。
タイムアウト時間を無制限にする場合は"0"を指定します。
設定値の範囲:(Windows)0〜2147483647、(Unix) 0〜199715979

例:
worker.otxiiop.iiop_timeout=<タイムアウト時間>

パラメータ説明:
<タイムアウト時間>: IIOPメソッド呼び出しがタイムアウトする時間(秒)
300
worker.otxiiop.iiop_max_send_size IIOP POSTデータ送信時のデータ分割単位を指定します。

例:
worker.otxiiop.iiop_max_send_size=<パケット長>(K|M)

パラメータ説明:
<パケット長>: POSTデータの送信時のパケット分割単位
最後に"K"がある場合は * 1024の値になり、
最後に"M"がある場合は * 1024 * 1024の値になります。
設定可能範囲は、32K から 9M です。
128K
worker.otxiiop.iiop_use_stateless IIOP 常にセッションレス通信を行うかどうかを指定します。

※複数ドメイン間でセッションレプリケーションを行っている場合やセッションを使用しない構成の場合はこの設定を"1"に設定してください。
プロセスグループに存在しないPIDが付いたリクエストを送ることによる、不必要なエラーが発生することを防ぐことができます。

例:
worker.otxiiop.iiop_use_stateless=<0 or 1>

パラメータ説明:
この値を"1"に設定すると、リクエストセッションのPIDを常に0にし、セッションレス通信を行います。
0
worker.otxiiop.apg_down_log IIOP アプリケーショングループ停止や、配備していないコンテキストにアクセスする際に発生する以下のCORBA通信エラーのログを抑止します。

CORBA::INV_OBJREF(3960)

例:
worker.otxiiop.apg_down_log=<true or false>

パラメータ説明:
trueに設定するとログ出力され、falseに設定するとログ出力されません。
true
worker.all.iiop_default_web_module ALL コンテキストルート"/"に配備したAPにアクセスする場合に、Webサーバがリクエストを送る実装名を指定します。

例:
worker.all.iiop_default_web_module=<実装名>

パラメータ説明:
<実装名>: IIOPリスナが認識するデフォルト定義名
※この設定値をデフォルトから変更する際はIIOPリスナでのデフォルト定義名 (tpsystem.managementNameOfDefaultWebModule) の値も変更する必要があります。
otx-default-web-module
worker.all.mes_buf_size ALL メッセージバッファ分割の大きさを指定します。単位はバイトです。未指定時は8192byteとなります。

例:
worker.all.mes_buf_size=8192
8192
worker.all.sock_buf_size ALL OS内部のソケットごとのバッファサイズを指定します。単位はバイトです。 未指定時は9000となります。
※この値はmes_buf_sizeよりも大きな値を設定してください。

例:
worker.all.sock_buf_size=9000
9000
worker.otxiiop.reuse_socket_at_request_timeout IIOP IIOPプラグインで一つのリクエストがCORBAタイムアウトとなった場合、タイムアウトとなったリクエストだけエラーを返却するか否か(true/false)を設定します。

true を設定した場合、一つのリクエストでタイムアウトが発生しても、他のリクエストはタイムアウトの影響を受けません。
false を設定した場合、タイムアウトが発生したときに処理中の他のリクエストも影響を受けてエラーとなります。

true を設定することで他のプロセスで処理をしているリクエストは影響を受けなくなりますが、TCP/IP レベルで無応答障害が発生している場合、障害検出までに時間がかかります。

例:
worker.otxiiop.reuse_socket_at_request_timeout=false
true


エラードキュメント指定設定項目

表1.4.5.2-2
プロパティ名 対象ワーカタイプ 説明、例 既定値
worker.otxiiop.http_error.list IIOP エラードキュメントをデフォルトから変更するHTTPレスポンスのStatus-Codeの一覧を","で区切り列挙します。エラードキュメントを変更しない場合はこのプロパティを定義しない。

例:
worker.otxiiop.http_error.list=<Status-Code>[,<Status-Code>]...

パラメータ説明:
<Status-Code>: Webコンテナから返ってくるHTTPレスポンスのStatus-Code
なし
worker.otxiiop.http_error.<Status-Code>.doc IIOP worker.otxiiop.http_error.listで指定されたStatus-Codeに対応するエラードキュメント情報を定義します。

例:
worker.otxiiop.http_error.<Status-Code>.doc=<File URL>

パラメータ説明:
<Status-Code>: 前述を参照
<File URL>: "file://" で始まるURL

例:
worker.otxiiop.http_error.404.doc=file:///C:/WebOTX/WebServer2/error/404.html
なし
worker.otxiiop.http_error.charset IIOP エラードキュメントファイルのデフォルトのキャラクタセットを指定します。

例:
worker.otxiiop.http_error.charset=<charset>

パラメータ説明:
<charset>: エラードキュメントのデフォルトのファイル キャラクタセット
ISO-8859-1
worker.otxiiop.http_error.<Status-Code>.charset IIOP 指定したステータスコード用のエラードキュメントファイルのキャラクタセットを指定します。

例:
worker.otxiiop.http_error.<Status-Code>.charset=<charset>

パラメータ説明:
<charset>: ステータスコードのエラードキュメントのファイルキャラクタセット
worker.otxiiop.http_error.charset の値
worker.otxiiop.corba_error.list IIOP エラードキュメントをデフォルトから変更するCORBAのError-Nameの一覧を","で区切り列挙します。エラードキュメントを変更しない場合はこのプロパティを定義しません。

例:
worker.otxiiop.corba_error.list=<Error-Name>[,<Error-Name>]...

パラメータ説明:
<Error-Name>: Webコンテナから返ってくるCORBAのエラーの名称

例:
worker.otxiiop.corba_error.list=timeout
なし
worker.otxiiop.corba_error.<Error-Name>.err IIOP worker.otxiiop.corba_error.listで指定されたError-Nameに対応するCORBAのエラー名と対応しているマイナーコードを定義します。

例:
worker.otxiiop.corba_error.<Error-Name>.err=<エラー定義>[,<エラー定義>]...

パラメータ説明:
<エラー定義> : <CORBA-ErrorName>[<CORBA-MinorNum>]...
<Error-Name>: worker.otxiiop.corba_error.list で指定されている名称
<CORBA-ErrorName>: Webコンテナから返ってくる CORBAのエラー名
<CORBA-MinorNum>: Webコンテナから返ってくるCORBAのマイナーコード

<CORBA-MinorNum> は以下のいずれかの方法で記述します。
<MinorCode-列挙>:
  <CORBA-MinorCode>[;<CORBA-MinorCode>]...
<MinorCode-範囲指定>:
  <CORBA-MinorCode>-<CORBA-MinorCode>

例1:
worker.otxiiop.corba_error.timeout.err=CORBA::COMM_FAILURE(3879;3883)

例2:
worker.otxiiop.corba_error.transient.err=CORBA::TRANSIENT(3892-3895)
なし
worker.otxiiop.corba_error.<Error-Name>.doc IIOP worker.otxiiop.corba_error.listで指定されたError-Nameに対応するエラードキュメント情報を定義します。

例:
worker.otxiiop.corba_error.<Error-Name>.doc=<File URL>

パラメータ説明:
<Error-Name>: 前述を参照
<File URL>: "file://" で始まるURL(フルパスで指定します)

例:Windows:
worker.otxiiop.corba_error.timeout.doc=file:///C:/WebOTX/WebServer2/error/timeout.html

例:Unix:
worker.otxiiop.corba_error.timeout.doc=file:///error/timeout.html
なし
worker.otxiiop.corba_error.charset IIOP エラードキュメントファイルのデフォルトのキャラクタセットを指定します。

例:
worker.otxiiop.corba_error.charset=<charset>

パラメータ説明:
<charset>: エラードキュメントのデフォルトのファイル キャラクタセット
ISO-8859-1
worker.otxiiop.corba_error.<Error-Name>.charset IIOP 指定したCORBAエラー用のエラードキュメントファイルのキャラクタセットを指定します。

例:
worker.otxiiop.corba_error.<Error-Name>.charset=<charset>

パラメータ説明:
<charset>: CORBAエラーのエラードキュメントのファイルキャラクタセット
worker.otxiiop.corba_error.charset の値

1.4.5.3. IIOPプラグインの設定例

以下にIIOPプラグイン定義について設定例で説明します。

環境設定ツールで設定を行うと ior_workers.properties は、以下の初期値に戻ります。

# TM_PLUGIN_IOR-start
worker.list=otxiiop
otx_domain=D:/WebOTX/domains/domain1
worker.otxiiop.type=otxiiop
worker.otxiiop.default_ior=localdomain
worker.otxiiop.ior_def.localdomain=$(otx_domain)/config/httpgateway.ior
# TM_PLUGIN_IOR-end

※ "otx_domain" はマクロ定義です。 $(otx_domain) として、パラメータに使用します。

1.4.6. Web版統合運用管理コンソールを利用したプラグインの設定方法

WebOTX Application Server V8.3 以降 では、統合運用管理ツールやWeb版統合運用管理コンソールからWebサーバプラグインの設定項目を変更する機能を提供しています。

ただし、WebサーバとWebコンテナが別マシン構成の場合、この機能を利用するには以下の両方の条件を満たしている必要があります。


Caution
この機能では連携設定済みの環境に対して、設定項目のカスタマイズを行います。Webサーバとの連携ができていない場合は、先に環境設定ツールを使用して連携設定を行ってください。環境設定ツールを使用して連携設定を行うと、workers.properties/ior_workers.properties に対して行われた設定は全て初期化されます。

1.4.6.1. Web版統合運用管理コンソールから設定可能な項目

外部Webサーバ連携時には、使用するWebサーバの種類や、連携先のWebコンテナの動作モードによってWebサーバプラグイン用の複数の設定ファイルが使用されます。一部の設定ファイルについては、Web版統合運用管理コンソールや運用管理コマンドから設定できず、手動で設定を行う必要があります。以下は使用するWebサーバごとの設定ファイルとWeb版統合運用管理コンソールからの設定可否の一覧です。「コンソールからの設定」が「△」のファイルは、一部の機能を設定可能です。「×」のファイルについては、設定できません。

表1.4.6.1-1
Webサーバの種類 設定ファイル コンソールからの設定
WebOTX Web Server22(スタンダードモード) ${INSTANCE_ROOT}/config/WebCont/workers.properties
${INSTANCE_ROOT}/config/WebCont/mod_jk-22.conf-auto
WebOTX Web Server22(アドバンスドモード) ${INSTANCE_ROOT}/config/WebCont/ior_workers.properties
${INSTANCE_ROOT}/config/WebCont/mod_jk_om-22.conf-auto
IIS ${INSTANCE_ROOT}/config/WebCont/workers.properties
${INSTANCE_ROOT}/config/WebCont/uriworkermap.properties-auto
${INSTANCE_ROOT}/config/WebCont/isapi_redirect.properties

下表はWeb版統合運用管理コンソールや運用管理コマンドから設定可能な項目です。下表の「設定ファイル内での設定名」にある項目と workers.properties/ior_workers.properties に設定する項目についてはWeb版統合運用管理コンソールや運用管理コマンドから設定できます。上表で「コンソールからの設定」が「△」になっているファイルに設定する項目で、下表の「設定ファイル内での設定名」にない項目については手動で設定する必要があります。Web版統合運用管理コンソールや運用管理コマンドから設定を行った場合、設定内容に応じて「更新される設定ファイル」に出力されます。

表1.4.6.1-2
表示名
(attribute-name)
設定ファイル内での設定名 更新される設定ファイル
プラグインの動的反映オプション
(plugin-query-mode)
worker.list [スタンダードモード時]workers.properties
[アドバンスドモード時]ior_workers.properties
コネクションプールサイズ
(plugin-pool-size)
connection_pool_size [スタンダードモード時]workers.properties
[アドバンスドモード時]ior_workers.properties
JkUnMountを出力するアプリケーションのリスト
(jk-unmount-list)
Memo
JkUnMount [スタンダードモード時/アドバンスドモード時]uriworkermap.properties-auto
JkMountCopyの種類
(jk-mount-copy)
Memo
JkMountCopy [スタンダードモード時]mod_jk-22.conf-auto
[アドバンスドモード時]mod_jk_om-22.conf-auto
コンテキストのマッピング情報を出力しないアプリケーションのリスト
(jk-no-mount-list)
JkMount [スタンダードモード時/アドバンスドモード時]uriworkermap.properties-auto
連携ポート番号
(plugin-port-number)
StdM
worker.<ワーカ名>.port [スタンダードモード時]workers.properties
連携先ホスト名
(plugin-host-name)
StdM
worker.<ワーカ名>.host [スタンダードモード時]workers.properties
ログのローテートの有効化
(log-rotate-enable)
Memo
JkLogFile [スタンダードモード時]mod_jk-22.conf-auto
[アドバンスドモード時]mod_jk_om-22.conf-auto
ログのローテート間隔
(log-rotate-interval)
Memo
JkLogFile [スタンダードモード時]mod_jk-22.conf-auto
[アドバンスドモード時]mod_jk_om-22.conf-auto
プラグインのログレベル
(plugin-log-level)
Memo
JkLogLevel [スタンダードモード時]mod_jk-22.conf-auto
[アドバンスドモード時]mod_jk_om-22.conf-auto

Memo
WebOTX Webサーバを使用している場合にのみ有効です。


以下では具体的な設定方法について、Web版統合運用管理コンソールを使用して説明を行います。

ブラウザを起動し、連携設定を行ったドメインの管理コンソール(http://<host>:<port>/manager)に接続し、ログインしてください。(domain1の場合の<port>の既定値は 5858 です。)

1.4.6.2. 動的反映機能/プラグインのログのローテーション/コネクションプールサイズの設定

プラグインの動的反映オプションやプラグインのログのローテーション、コネクションプールサイズの設定を行う方法を説明します。ログのローテーションの設定は、WebOTX Webサーバ使用時のみ有効です。 WebOTX Webサーバ以外のWebサーバでプラグインのログのローテーションの設定を行う場合は「ドメイン構築・基本設定ガイド > 8. ログ」を参照し、手動で設定を行ってください。

  1. 管理コンソールの左側のツリーから「アプリケーションサーバ」-「Webコンテナ」-「Webサーバ連携設定」を選択します。
  2. 「一般」タブおよび「ログの設定」タブで該当の項目を変更します。
    プラグインのログを5Mごとにローテーションする場合


    動的反映機能をオフにする場合


    動的反映機能を起動後1回のみ有効にする場合


    プラグインのコネクションプールサイズを100にする場合


  3. 「更新」ボタンをクリックして、変更を設定ファイルに反映します。
  4. 変更を反映するために、Webサーバを再起動してください。

1.4.6.3. workers.properties/ior_workers.properties ファイルの詳細設定

プラグインの設定項目のうち、workers.properties/ior_workers.properties ファイルに設定を行う項目は、「Webサーバ連携設定」に表示されていない項目でも以下の手順でWeb版統合運用管理コンソールから設定を行うことができます。 設定可能な項目一覧については「JKプラグイン、IIOPプラグイン共通の設定項目一覧」「IIOPプラグインの連携設定項目」を参照してください。

  1. 「操作」の表示レベルの変更

    コンソールの右上の「メニュービュー」から「設定」を選択します。
    「画面表示設定」タブの「操作の表示レベル」を「全レベル」に変更し、「確定」をクリックして設定してください。
    設定を画面に反映するためには、一度「Webサーバ連携設定」以外の項目を選択後、再度「Webサーバ連携設定」の項目を選択してください。
    設定が反映されると「操作」タブが表示されます。

  2. 「操作」の実行
  3. Webサーバの再起動

    変更を反映するために、Webサーバを再起動してください。

1.4.7. HTTPセッション管理について

1.4.7.1. HTTPセッション管理について

セッション管理についてServlet2.4などに規定されている仕様や、クライアント(ブラウザ)側の動作などの一般的な動作の仕組みについて説明します。

セッションの管理方法にはCookieを使用する方法とURLRewritingを使用する方法があります。Cookieを使用する方法では、セッションを識別するためのセッションIDをCookieに保存します。URLRewritingを使用する方法では、セッションIDをURLのパラメータに追加します。

次項で2つのセッション管理方法の動作イメージを示します。

Cookieによるセッション管理

コンテナはクライアントにクッキーを送信します。その後、クライアントは、それぞれのリクエストのときにセッションを含むクッキーつけて、サーバに送信します。セッションのクッキーの名前は”JSESSIONID”を使用します。

Cookieによるセッション管理の図
図1.4.7.1-1

Cookieを使うセッションID管理方法は、セッションIDをWebブラウザのCookieに設定します。

URLRewritingによるセッション管理

ユーザアプリケーションはアクセス先URLを作成する際、URLにセッションIDを付加します。セッションIDは独自に編集するか、javax.servlet.http.HttpServletResponse#encodeURL()メソッドを用いて付加します。

URLRewritingによるセッション管理の図
図1.4.7.1-2

URLRewritingを使うセッションID管理方法は、セッションIDをHTMLの<Form>タグのactionのURLなどに付加します。

セッションタイムアウトについて

セッションには有効期限が存在します。指定した期間クライアントからのリクエストが無い場合、Webコンテナはセッションを破棄します。以降破棄されたセッションに対しリクエストがあった場合、新たにセッションが作成され要求されたセッションと入れ替えられます。


1.4.7.2. WebOTXの基本的な設定

WebOTXでのセッション管理に関連する基本的な設定について説明します。

セッション管理方法の切替

セッションをCookieで管理するかURLRewritingで管理するか、Webアプリケーション単位で切り替えます。


セッションのタイムアウト時間

セッションのタイムアウト時間(有効期限)を設定します。設定には幾つかの種類がありそれぞれ有効範囲が異なります。それぞれの設定について説明します。優先順位は後者ほど高くなります。

default-web.xmlによる設定

domain全体に対する設定になります。

表1.4.7.2-2
設定詳細
設定箇所 <domainディレクトリ>/config/default-web.xml
既定値 30(分)
最小値 1(分) ※0以下の場合セッションタイムアウトは行われません。
最大値 35791(分)
設定例
  <web-app>
        :
    <session-config>
      <session-timeout>30</session-timeout>
    </session-config>
        :
説明 domain全体に対するセッションタイムアウト値を設定します。
備考 設定変更後はドメインを再起動してください。

nec-web.xmlによる設定

Webアプリケーション毎に有効な設定ですが、web.xmlの設定が無い場合に有効です。

表1.4.7.2-3
設定詳細
設定箇所 <コンテキストルート>/WEB-INF/nec-web.xml
既定値 なし
最小値 1(秒) ※0以下の場合セッションタイムアウトは行われません。
最大値 2147483(秒)
設定例
  <nec-web-app>
      :
    <session-config>
      <session-properties>
        <property name="timeoutSeconds" value="5"/>
      </session-properties>
    </session-config>
      :
説明 Webアプリケーション毎に有効なセッションタイムアウト値を設定します。
備考 nec-web.xmlは予めwarアーカイブに格納しておいてください。

web.xmlによる設定

Webアプリケーション毎に有効な設定になります。

表1.4.7.2-4
設定詳細
設定箇所 <コンテキストルート>/WEB-INF/web.xml
既定値 なし
最小値 1 ※0以下の場合セッションタイムアウトは行われません。
最大値 35791(分)
設定例
  <web-app>
      :
    <session-config>
      <session-timeout>30</session-timeout>
    </session-config>
      :
説明 Webアプリケーション毎に有効なセッションタイムアウト値を設定します。
備考 なし

Webアプリケーションによる設定

セッション毎に有効な設定でユーザがWebアプリケーション中で指定します。

表1.4.7.2-5
設定詳細
設定箇所 Webアプリケーションのロジック中
既定値 なし
最小値 1(秒) ※0以下の場合セッションタイムアウトは行われません。
最大値 2147483(秒)
設定例
    :
  HttpSession session = request.getSession();
  session.setMaxInactiveInterval(300);
    :
説明 セッション毎に有効なセッションタイムアウト値をjavax.servlet.http.HttpSession#setMaxInactiveInterval()メソッドで設定します。
備考 なし

セッション情報の保存

WebOTXでは何も設定しないデフォルトの状態ではdomainの停止と共にセッション情報は消えてしまいます。セッション情報をファイルに保存する設定を行うことでdomain再起動後もセッションをファイルから復元、継続して使用することができます。

※ WebOTXの環境がアドバンストモードで構築されている場合、セッションの保存方法には制限が存在します。 詳細は「1.4.7.4. WebOTXの高度な設定(アドバンスドモードでの設定) > アドバンスドモードでのセッション情報保存」 を参照してください。

※ セッション情報を保存したファイルの保存箇所は<domainディレクトリ>/generated/jsp/<Webアプリケーション名>配下がカレントになります。このディレクトリはWebアプリケーションを配備解除するとディレクトリが削除され、セッション情報が失われますのでご注意ください。

メモリ管理によるセッション保存

セッションはメモリ上に展開され、domainの停止時にファイルに出力されます。domainが正常に停止されない場合(突然のアボート等)、セッション情報はファイルに保存されないことがあります。

表1.4.7.2-6
設定詳細
設定箇所 <コンテキストルート>/WEB-INF/nec-web.xml
既定値 memory
設定例
  <nec-web-app>
      :
    <session-config>
      <session-manager persistence-type="memory">
        <manager-properties>
          <property name="sessionFilename" value="/session.ser"/>
        </manager-properties>
      </session-manager>
    </session-config>
      :
説明 セッション情報の保存方法をメモリ管理に設定する
備考 環境によっては、セッション情報をファイルに保存する方法が使用できないためsessionFilenameプロパティが設定できません。
nec-web.xmlは予めwarアーカイブに格納しておいてください。

※ WebOTXの環境がアドバンストモードで構築されている場合、セッションの保存方法には制限が存在します。 詳細は「1.4.7.4. WebOTXの高度な設定(アドバンスドモードでの設定) > アドバンスドモードでのセッション情報保存」 を参照してください。


ファイル管理によるセッション保存

セッションはメモリ、ファイル両方に展開されます。メモリ上で管理されているセッション情報を一定間隔(60秒)でファイルに出力します。セッション更新後ファイル出力をまたずdomainが正常に停止されない場合(突然のアボート等)、ファイルに最新情報が反映されない場合があります。

表1.4.7.2-7
設定詳細
設定箇所 <コンテキストルート>/WEB-INF/nec-web.xml
既定値 memory
設定例
  <nec-web-app>
      :
    <session-config>
      <session-manager persistence-type="file">
        <manager-properties>
          <property name="sessionFilename" value="/session.ser"/>
        </manager-properties>
      </session-manager>
    </session-config>
      :
説明 セッション情報の保存方法をファイル管理に設定する
備考 環境によっては、ファイル管理によるセッション保存は設定できません。
nec-web.xmlは予めwarアーカイブに格納しておいてください。

※ WebOTXの環境がアドバンストモードで構築されている場合、セッションの保存方法には制限が存在します。 詳細は「1.4.7.4. WebOTXの高度な設定(アドバンスドモードでの設定) > アドバンスドモードでのセッション情報保存」 を参照してください。


セッションの同時最大数設定

同時に作成できるセッションの最大数を設定します。

セッションレプリケーション時に本項目を指定するとセッション数増加に伴いセッションを払いだす時間が長くなります。ご注意ください。

表1.4.7.2-8
設定詳細
設定箇所 <コンテキストルート>/WEB-INF/nec-web.xml
既定値 -1(制限なし)
最小値 1
最大値 2147483647(個)
設定例
  <nec-web-app>
      :
    <session-config>
      <session-manager>
        <manager-properties>
          <property name="maxSessions" value="200"/>
        </manager-properties>
      </session-manager>
    </session-config>
      :
説明 セッションの同時最大数を設定する
備考 なし

セッションのセキュアオプションについての設定

セッションをCookie管理している場合、セッションIDを格納するCookieをはじめユーザが作成したCookieにも自動でセキュアオプションの設定を行うことができます。セキュアオプションを設定したCookieはクライアントからHTTPSプロトコルでアクセスされた場合のみリクエストに付加され、HTTPプロトコルでアクセスされた場合は付加されなくなります。

表1.4.7.2-9
設定詳細
設定箇所 <コンテキストルート>/WEB-INF/nec-web.xml
既定値 false
設定例
  <nec-web-app>
      :
    <session-config>
      <property name="alwayCookieSecure" value="true"/> 
    </session-config>
      :
説明 セッションのセキュアオプションを強制設定する
備考 なし

URLのセッションID付加抑制の設定

HttpServletResponse.encodeURL()を実行しても、URLRewriting(セッションIDの付加)を行わない設定を行います。

表1.4.7.2-10
設定詳細
設定箇所 <コンテキストルート>/WEB-INF/nec-web.xml
既定値 true
設定例
  <nec-web-app>
      :
    <session-config>
      <session-properties>
        <property name="enableURLRewriting" value="false" />
      :
説明 URLRewriting(セッションIDの付加)を行わない設定
備考 なし

セッションを強制的に使えなくする設定

セッションを強制的に使えなくする設定です。動作的にはセッションオブジェクトが取得できないわけではなく、リクエストの終了時セッションがあれば無効化するような動作になります。 また、レスポンス(CookieやURLRewriting)にセッションIDは設定されません。

表1.4.7.2-11
設定詳細
設定箇所 <コンテキストルート>/WEB-INF/nec-web.xml
既定値 true
設定例
  <nec-web-app>
      :
    <session-config>
      <session-properties>
        <property name="enableSession" value="false" />
      :
説明 セッションを使えなくする設定
備考 なし
jvmRouteオプションの設定

ドメインもしくはプロセスグループ単位でセッションIDに、指定した文字列を付加することができます。セッションIDを払い出したWebサーバを特定したい場合などに使用します。

表1.4.7.2-12
設定詳細
設定箇所 JVMオプション
既定値 なし
設定例
  -DjvmRoute="hoho1"
otxadminコマンドを用いて設定する場合
  • スタンダードモードの場合の設定例
    otxadmin> create-jvm-options -DjvmRoute=hoho1
  • アドバンスドモードの場合の設定例
    otxadmin> add-pg-javasystem-property --apgroup <アプリケーショングループ名> --javasystemprop jvmRoute --value hoho1 <プロセスグループ名>
説明 セッションIDに指定文字列を付加する設定。セッションIDに"."を区切り文字として指定文字列を付加します。
備考

プロセスIDとjvmRouteを付加した場合のセッションIDの例を示します。

  5B22AF53A66CAB1AB26490EB430D36C3.hoho1$3936
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ ~~~~
  セッションID(32桁) . jvmRoute $ プロセスID
静的ファイルへのセッション時刻更新をスキップする設定

セッションを使用しない静的ファイル(html、gif等)へのリクエストに対して、セッションの時刻情報を更新しないように設定できます。 セッションID付け替えによる制限事項の軽減に対して有効です。

表1.4.7.2-13
設定詳細
設定箇所 <コンテキストルート>/WEB-INF/nec-web.xml
既定値 false
設定例
  <nec-web-app>
      :
    <session-config>
      <session-manager>
        <manager-properties>
          <property name="skipStaticFileSessionUpd" value="true"/>
        </manager-properties>
      </session-manager>
    </session-config>
      :
説明 静的ファイルに対してセッション時刻情報の更新をスキップする設定
備考 nec-web.xmlは予めwarアーカイブに格納しておいてください。
セッションIDの長さ設定

Webコンテナが生成するセッションIDの長さは、既定では16進で32桁(16byte==128bit)ですが、 設定により変更することが可能です。

表1.4.7.2-14
設定詳細
設定箇所 <コンテキストルート>/WEB-INF/nec-web.xml
既定値 16
最小値 8
最大値 512
設定例
  <nec-web-app>
      :
    <session-config>
      <session-manager>
        <manager-properties>
          <property name="sessionIdLength" value="16"/>
        </manager-properties>
      </session-manager>
    </session-config>
      :
説明 生成されるセッションIDのバイト数を設定
備考 セッションIDの文字列長は、指定した値×2になります。
nec-web.xmlは予めwarアーカイブに格納しておいてください。



1.4.7.3. セッションレプリケーション

セッションレプリケーションについて

システムの信頼性を高めるための複数のサーバ間でセッションデータを複製しておく仕組みをセッションレプリケーションと言います。セッションレプリケーションを設定することで1台のサーバがダウンした場合でも複製したセッション情報を元に他のサーバが処理を引き継ぐことができます。WebOTXのセッションレプリケーションはセッション情報をJNDI(または、データベース)に格納することで実現します。JNDIを使用する場合の情報共有に関しては 1.4.3. HTTPのみのセッションレプリケーション及び1.6.4. JNDIサーバをレプリケーションするための設定を参照してください。

セッションレプリケーションを行うにあたり、Webアプリケーションの作りに一部制限が存在します。詳細は [ 1.4.7.3. セッションレプリケーション > Webアプリケーション実装の注意/制限事項 ] を参照してください。

セッションレプリケーションの概要を図にします。

セッションレプリケーションの概要図
図1.4.7.3-1



WebOTXのレプリケーション機能の動作概要について記述します。

  1. 共有されるセッション情報の範囲と共有のトリガ
    全てのセッション情報が共有され、セッションに格納している情報の更新があった場合、更新された差分のみが更新/共有されます。
    またHTTPリクエスト受信時、セッションが検出された場合、セッションへのアクセス時刻を更新/共有します。

  2. レプリケーション時の性能
    レプリケーションした環境では無負荷状態で、クライアントへのレスポンスは約10mSec遅くなります。 セッションへのアクセス回数やJNDIサーバ(または、データベースサーバ)に登録されているセッション数に依存して遅くなります。
    セッションの最大数は、デフォルトでは無制限ですが、この値を設定すると、新規セッション生成時にはセッション数をJNDIサーバ(または、データベースサーバ)から 情報を取り出して現状のセッション数を数えるため、レスポンスが遅くなります。


セッション情報を格納先に保存するためのWebアプリケーションの設定

Webアプリケーションにセッション情報をJNDIに登録するための設定を行います。

表1.4.7.3-1
設定詳細
設定箇所 <コンテキストルート>/WEB-INF/web.xml
既定値 なし(OFF)
設定例
  <web-app>
      :
    <distributable/>
      :
説明 Webアプリケーションにセッションレプリケーションの設定を行います。ON/OFFは要素を記述するかしないかになります。
またdefault-web.xmlに本項目を設定すると、セッションレプリケーションに対応していないWebアプリケーションにも影響を与えてしまいますので、Webアプリケーション毎にweb.xmlに設定してください。
備考 なし

レプリケーションモードについて
WebOTXでは3つのセッションレプリケーションモードを用意しています。 各レプリケーションモードには特徴があり、要件に応じて選択することが可能です。

以下に各レプリケーションモードの特徴と使用する場合のテンプレート設定値をまとめます。
各設定項目の詳細、及び設定方法は、2.2.13.4. web.xmlデプロイメント記述子のsession-config要素を参照してください。

表1.4.7.3-2
性能 信頼性 モード名 テンプレート設定値(プロパティ名/値)
即時同期モード
replicationMode 同期モード(RS)
saveSkip OFF固定
reapIntervalSeconds 60(秒)
processExpiresFrequency 1(回)
同期モード
replicationMode 同期モード(SS)
saveSkip(※) ON
reapIntervalSeconds 60(秒)
processExpiresFrequency 1(回)
非同期モード
replicationMode 非同期モード(AS)
saveSkip ON
reapIntervalSeconds 60(秒)
processExpiresFrequency 1(回)
minIdleSwap -1(スワップOFF)
maxIdleSwap -1(スワップOFF)
maxIdleBackup 0(秒)

※ レプリケーションモードが同期モードの場合、saveSkipの設定はレプリケーションの注意/制限事項に関連します。 非同期モードではsaveSkipをOFFにするとリクエスト終了時、全てのattribute情報が格納先に反映されるため、注意/制限事項を解除できますが反面性能は低下します。 Webアプリケーションの作りが注意/制限事項に抵触しない場合はsaveSkipをONにすることをお勧めします。

JNDIを利用するレプリケーション設定

※セッションレプリケーションを設定する場合、セッションの管理方法をメモリに設定する必要があります。 [1.4.7.2. WebOTXの基本的な設定 > メモリ管理によるセッション保存] 参照


JNDIのレプリケーション設定

異なるdomainのJNDIを連携設定することでセッション情報を共有します。設定方法によらず設定内容はセッションレプリケーションするJNDIサーバのURLを"rmiiiop://host1:port,host2:port"の形式で設定します。ここで2重化されるのはセッション情報のみです。


データベースを利用するレプリケーション設定
データベースを使用する場合、セッション情報を格納するためのテーブルを予め作成しておく必要があります。 以下のSQL文を参考にテーブル作成を行ってください。

※例はOracleデータベースにテーブルを作成する例です。他のデータベースを使用する場合はデータ型が異なりますので適宜変更してください。


準備したデータベースへアクセスするためにJDBCデータソースを登録しておく必要があります。


データソースの設定

データベース接続のデータソース名の設定を行います。 データソース名の設定については、2.2.13.4. web.xmlデプロイメント記述子のsession-config要素を参照してください。

Infinispan を利用するレプリケーション設定
InfinispanはStandard以上のエディションで利用することができます。Expressでは利用できませんので、ご注意ください。


Webアプリケーションの設定

Webアプリケーションにセッションレプリケーションの設定を行います。
設定方法については、セッション情報を格納先に保存するためのWebアプリケーションの設定の 表1.4.7.3-1 を参照してください。


Infinispanのライブラリの配置

データグリッドの設定を行う前に、Infinispanを利用するために必要なライブラリを配置する必要があります。
ライブラリの取得、および配置の方法は、[ 3. 提供機能 > 3.6.9. インメモリデータグリッド連携 > 3.6.9.1. 事前準備 ]を参照してください。


データグリッドの設定

利用するデータグリッドの属性「タイプ」に「infinispan」を指定します。

Infinispanを利用したセッション情報のレプリケーションに利用するデータグリッドとして、 WebOTXでは、「__default_http_session」という名前のデータグリッドを用意しています。この既存のデータグリッドを利用する場合は、 データグリッドの属性「タイプ」を「disable」から「infinispan」に変更します。 新たにデータグリッドを作成する場合は、作成時に属性「タイプ」として「infinispan」を指定します。

データグリッドの各設定項目の詳細については、1.19.1. インメモリデータグリッド連携全般の設定項目・設定方法 を参照してください。



データグリッドの指定

セッション情報保存先タイプの設定


Oracle Coherenceを利用する設定
Oracle Coherenceを使用するにあたり、制限があります。
詳細は、[注意制限事項 > 3. Webコンテナ > 3.2. Webコンテナ 制限事項] を参照してください。


セキュリティポリシファイルの定義変更

セキュリティポリシファイル(${INSTANCE_ROOT}/config/server.policy)を以下のように変更します。

修正前
grant codeBase "file:${com.nec.webotx.instanceRoot}/applications/-" {
    permission java.util.logging.LoggingPermission "control", "";
    permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
};
修正後
grant codeBase "file:${com.nec.webotx.instanceRoot}/applications/-" {
    permission java.util.logging.LoggingPermission "control", "";
    permission java.lang.reflect.ReflectPermission "suppressAccessChecks";

    // for Coherence
    permission java.lang.RuntimePermission "createClassLoader";
    permission java.lang.RuntimePermission "getenv.*";
    permission java.lang.RuntimePermission "getStackTrace";
    permission java.lang.RuntimePermission "modifyThread";
    permission java.lang.RuntimePermission "selectorProvider";
    permission java.lang.RuntimePermission "shutdownHooks";
    permission java.net.NetPermission "getNetworkInformation";
    permission java.net.SocketPermission "*:0-65535", "listen,accept,resolve";
    permission java.security.SecurityPermission "insertProvider.OracleCommonsSecurityProvider";
    permission java.security.SecurityPermission "putProviderProperty.OracleCommonsSecurityProvider";
    permission javax.security.auth.AuthPermission "getSubject";
};

※ SocketPermissionでのポート番号の指定は、Coherenceが使用する番号を指定してください。

※ セキュリティポリシファイルの変更は、ドメイン再起動で有効になります。


WebアプリケーションへのCoherence組み込み

  1. インスペクトコマンドの実行

    以下のようにインスペクトコマンドを実行します。

    > java -jar coherence/lib/webInstaller.jar <Webアプリケーションディレクトリ> -inspect -server:Generic

    コマンドの実行が完了すると、Webアプリケーションディレクトリにcoherence-web.xmlが生成されます。

  2. coherence-web.xmlの変更

    インスペクトコマンドの実行により生成されたcoherence-web.xmlを以下のように変更します。

    修正前
        <context-param>
          <param-name>coherence-servletcontext-clustered</param-name>
          <param-value/>
        </context-param>
                    :
                    :
        <context-param>
          <param-name>coherence-scopecontroller-class</param-name>
          <param-value>com.tangosol.coherence.servlet.AbstractHttpSessionCollection$ApplicationScopeController</param-value>
        </context-param>
    
    修正後
        <context-param>
          <param-name>coherence-servletcontext-clustered</param-name>
          <param-value>true</param-value>
        </context-param>
                    :
                    :
        <context-param>
          <param-name>coherence-scopecontroller-class</param-name>
          <param-value>com.tangosol.coherence.servlet.AbstractHttpSessionCollection$GlobalScopeController<param-value>
        </context-param>
    

  3. インストールコマンドの実行

    以下のようにインストールコマンドを実行します。

    > java -jar coherence/lib/webInstaller.jar <Webアプリケーションディレクトリ> -install

以上でWebアプリケーションへのCoherence組み込みは終了です。

Webアプリケーションディレクトリ配下をwarアーカイブしてドメインに配備してください。


Standard以上のエディションでは、配備時のCoherence自動組み込み機能を提供しています。配備のpreprocessorオプションに「CoherenceWebInstaller」を指定することで、上記の1〜3を配備処理中に自動で実行します。

> otxadmin deploy --preprocessor CoherenceWebInstaller <WARファイルまたはWARを含むEARファイル>

Coherenceを<WebOTXインストールディレクトリ>/coherence以外の場所にインストールしている場合、Coherence自動組み込み機能を利用するためには、以下のいずれかの準備が必要です。

  1. エージェントプロセスに以下のJVMオプションを追加する。
    ※ WebOTXと同じマシンにCoherenceをインストールしている場合は、こちらを推奨します。


    コマンドでJVMオプションを追加する場合は、以下のとおりです。

    > otxadmin create-jvm-options -Dcom.nec.webotx.as.deployment.preprocess.CoherenceWebInstaller.coherence-home=<Coherenceインストールディレクトリ>

    ※ JVMオプションの追加は、ドメイン再起動で有効になります。

  2. 以下の3ファイルを<WebOTXインストールディレクトリ>/coherence/libにコピーする。

Coherence自動組み込み機能は、ディレクトリ配備に対して使用することはできません。また、Coherence自動組み込み機能がサポートするアプリケーションは、CoherenceのwebInstaller.jarがサポートするWARファイルおよびそのようなWARファイルを含むEARファイルです。

Coherence自動組み込み機能は、セキュリティポリシファイルの変更を行いません。別途変更を行ってください。


Webアプリケーション実装の注意/制限事項

セッションレプリケーションを使用するにあたってWebアプリケーションを実装する上での注意点を以下に記載しています。

  1. レプリケーションした場合、セッションのAttributeに設定できるオブジェクトはシリアライズできるものに限られます。

  2. 即時同期モードでレプリケーションした場合、セッションのAttributeに設定したオブジェクトとJNDI(あるいは、 データベース、DATAGRID)で管理されているオブジェクトは別インスタンスの扱いになります。


    どのような場合に問題になるか例を記述します。

    <ソースコード>
    1. HttpSession session = <HttpServletRequest>.getSession();
      hohoClass clazz = new hohoClass();
      clazz.buff = "ABC";
      session.setAttribute("hoho", clazz);
    2. clazz.buff = "DEF";
    3. hohoClass clazz2 = (hohoClass)session.getAttribute("hoho");
      String buff = clazz2.buff;

    <ソースコード解説>
    1. あるクラスが持つStringオブジェクトに"ABC"を格納しセッションのAttributeに設定します。
    2. Stringオブジェクトの内容を"DEF"に更新します。
    3. セッションのAttributeからクラスのStringオブジェクトを取得します。
      レプリケーション設定していない場合、取得したStringオブジェクトの内容は"DEF"ですが、 レプリケーション設定した場合、内容は"ABC"になります。

    レプリケーション前と同じ取得を"DEF"にしたい場合はiiとiiiの間で再度setAttribute()を実行する必要があります。

    1. HttpSession session = <HttpServletRequest>.getSession();
      hohoClass clazz = new hohoClass();
      clazz.buff = "ABC";
      session.setAttribute("hoho", clazz);
    2. clazz.buff = "DEF";
    3. session.setAttribute("hoho", clazz);
    4. hohoClass clazz2 = (hohoClass)session.getAttribute("hoho");
      String buff = clazz2.buff;

  3. セッションレプリケーションを設定するとセッション情報がJNDI(あるいは、データベース、 DATAGRID)に格納されるようになります。この際セッションに格納しているオブジェクトに関して注意点があります。

    セッション情報として、VectorやHashtableなど、同期化されたコレクションクラスを使用すると、シリアライズ/デシリアライズが同期化されてしまいます。同期化されてしまうと処理が直列化されて、大幅な性能低下につながるおそれがあります。そのためVectorやHashtableではなく同期化されないArrayListやHashMapをご使用ください。

    また、シリアライズ/デシリアライズは複雑なコレクションクラスの処理には時間が掛かります。セッション情報として使用するオブジェクトはシンプルなものをお勧めします。


1.4.7.4. WebOTXの高度な設定(アドバンスドモードでの設定)

アドバンストモードでは通常のセッション管理に加えてアドバンストモード特有の管理情報が追加されます。 通常レプリケーション設定が無い場合、セッションを構築したクライアントとサーバは1対1ですがアドバンストモードの場合、サーバ側で動作する プロセス数がプロセスグループの設定により複数になる可能性があります。

セッションを維持するためにはクライアントからのリクエストを、セッションを払いだしたプロセスに送る必要があります。そのためにWebコンテナは セッションIDを払いだす際に通常のセッションIDの後に"$"を区切りとして自身が動作しているプロセスのIDを付加します(※)。 次回リクエスト時、セッションIDにこのプロセスIDが付加されていた場合、該当するプロセスを探し出して転送します。

※ 環境の構成によってはプロセスIDが付加されない場合があります。詳細は次節参照

アドバンスドモードでのセッションID

アドバンストモードでのセッションIDには構成によりプロセスIDが付加されます。何かの事情によりプロセスIDを付加したくない場合、「強制的にプロセスIDを付加する/しない」 を設定することができます。

※ スタンダードモードではプロセスIDが付加されることはありません

構成によるプロセスIDの付加

表1.4.7.4-1
プロセスIDの強制付加 プロセス数 セッションレプリケーション 結果 備考
OFF設定(JVMオプションを設定します) -- -- プロセスIDなし 強制的にセッションIDにプロセスIDを付加しません。OFF設定をする場合、次のJVMオプションを設定します。
-Dorg.apache.catalina.session.CompulsionPid=off
ON設定(JVMオプションを設定します) -- -- プロセスID付加 強制的にセッションIDにプロセスIDを付加します。ON設定をする場合、次のJVMオプションを設定します。
-Dorg.apache.catalina.session.CompulsionPid=on
設定なし(JVMオプションを設定しません) 1 -- プロセスIDなし プロセスIDは付加しません。プロセス数が1つの場合、リクエストを振り分ける必要がないためです。
設定なし(JVMオプションを設定しません) 複数 設定なし プロセスID付加 プロセスIDを付加します。プロセスが複数存在するためセッションを払いだしたプロセスを選択する必要があるためです。
設定なし(JVMオプションを設定しません) 複数 設定あり プロセスIDなし
※レプリケーションモードに非同期を選択している場合プロセスID付加
プロセスIDを付加しません。プロセスは複数存在しますが、レプリケーション設定されているためどのプロセスが選択されても同じ結果になるためです。

プロセスIDを付加した場合セッションIDの例を示します。
  C7C25B729C39629558DB02C5FA25E038$6212  
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~
  セッションID(32桁) $ プロセスID
アドバンスドモードでのセッション情報保存

WebOTXの環境がアドバンストモードの場合、構成によりセッション情報の保存方法に制限が存在します。



1.4.8. 文字コード設定について

1.4.8.1. 文字コードについて

Javaにおいて文字コードを意識する箇所を簡単に説明します。

Java内部では文字は全てUnicodeで処理されています。ですが例えば、あるファイルをServletから読み込む場合ファイルはShift_JISで書かれていたとすればShift_JIS<->Unicodeの変換を行わなければJava内部では文字列として使用することができません。

例のようにJavaは外部にI/Oする際に文字コードの変換が発生します。この変換する文字コードが指定されていない場合、Javaでデフォルトとなっている文字コードを使用しますが、デフォルトの文字コードはJavaが動作しているOS環境によって異なります。(Windowsであればwindows-31j、LinuxであればEUC-JP等)

Servlet(Java)への主なI/Oについて概要図を示します。

概要図
図1.4.8.1-1

  1. HTTPリクエスト
    「リクエストのデータをどの文字コードとしてJavaで扱うUnicodeに変換するか」、の設定があります。

    詳細は [1.4.8.2. 文字コードの優先順位 > HTTPリクエスト] 参照

    ※URLに使用できる文字については [1.4.9.1. URL] を参照してください。

  2. HTTPレスポンス
    「レスポンス出力時、Javaで扱うUnicodeをどの文字コードに変換してレスポンス出力するか」、の設定があります。

    詳細は [1.4.8.2. 文字コードの優先順位 > HTTPレスポンス] 参照

  3. JSPファイルのコンパイル
    「JSPファイルをどの文字コードで読み込み、Javaで扱うUnicodeに変換するか」、の設定があります。

    詳細は [1.4.8.2. 文字コードの優先順位 > JSPファイルのコンパイル] 参照

    ※ファイル名に使用可能な文字については[1.4.9.1. URL]を参照してください。

  4. JSPファイルのレスポンス
    「JSPを実行した際、Javaで扱うUnicodeをどの文字コードに変換してレスポンス出力するか」、の設定があります。

    詳細は [1.4.8.2. 文字コードの優先順位 > JSPファイルのレスポンス] 参照

  5. ファイル入力/出力
    ファイルにアクセスするInputStream、OutputStreamを作成する際ユーザが文字コードを設定します。WebOTX独自の設定機能は存在しませんがJVMオプション (-Dfile.encoding=<MS932等>)設定によりデフォルトの文字コードを変更できます。

    ※ファイル名に使用可能な文字については[1.4.9.1. URL]を参照してください。

  6. データベースアクセス
    JDBCドライバに依存します。



次節以降の表中で使用する用語について説明します。


使用できる文字コードはJavaのプラットフォームにより異なります。Javaのマニュアルにてご確認ください。

1.4.8.2. 文字コードの優先順位

文字コードの設定箇所と、それぞれの優先順位を記述します。

HTTPリクエスト

リクエストのデータをどの文字コードとして扱うかは通常、以下の処理順で決定されます。ここで決定された文字コードはリクエストからデータを取得する際のInputStreamに適用されます。

表1.4.8.2-1
優先度 設定項目名 説明 設定場所 有効範囲 反映方法 設定例
setCharcterEncoding設定 Filter等でリクエストデータを参照する前に、HttpServletRequest.setCharcterEncoding()により文字コードを設定した場合、その文字コードとしてリクエストデータをUnicodeに変換します。 ユーザロジック Webアプリケーション 再配備
    :
((HttpServletRequest)request).setCharcterEncoding("Shift_JIS");
    :
HTTPリクエストcharset設定 HTTPリクエストのヘッダ情報にcharset指定がある場合、その文字コードでリクエストデータをUnicodeに変換します。 なし Webアプリケーション 再配備 ブラウザ等クライアントアプリケーションに依存しますがHTTPリクエストヘッダにcharset指定がある場合の動作になります。
"Content-Type: application/x-www-form-urlencoded; charset=windows-31j" 等
NEC配備記述子charset設定 HTTPリクエストのヘッダ情報にcharset指定が無い場合、nec-web.xmlファイルに<locale-charset-info>要素を設定し、warファイルに予めアーカイブすることでリクエストデータのUnicode変換に用いるデフォルトの文字コードを設定することができます。 nec-web.xml Webアプリケーション 再配備
<nec-web-app>
    :
  <locale-charset-info>
      <parameter-encoding form-hint-field="penc" default-charset="windows-31j"/>
  </locale-charset-info>
    :
  1. リクエストのパラメータ中に該当データ(この場合パラメータ名がpencのデータpenc=x-IBM943C 等)があればそれを文字コードとして使用する。
  2. i)が無い場合、リクエスト中のAccept-Language: ja、無ければnec-web.xmlの<locale-charset-info> default-charset で指定された文字コードを用いてリクエストパラメータをUnicodeに変換
デフォルト設定 上記のいずれも無い場合、リクエストデータはデフォルトの文字コード"ISO-8859-1"を用いてUnicodeに変換されます。 -- -- -- --
HTTPレスポンス

レスポンスにデータをどの文字コードとして出力するかは通常、以下の処理順で決定されます。ここで決定された文字コードはHTTPレスポンスのヘッダ情報(Content-Typeのcharset)とデータを出力する際のOutputStreamに適用されます。

表1.4.8.2-2
優先度 設定項目名 説明 設定場所 有効範囲 反映方法 設定例
文字コード優先設定 Webアプリケーション毎にHTTPレスポンスに優先的に使用される文字コードを設定します。 nec-web.xml Webアプリケーション 再配備
<nec-web-app>   
    :
  <property name="priorityResponseEncoding-map:ja" value="EUC-JP"/>  
    :
  <property name="priorityResponseEncoding" value="windows-31j"/>  
設定は両方設定することも片方のみ設定する事も可能です。
前者はHTTPレスポンスのロケールが一致した場合、Mapされた文字コードを適用します。
後者はHTTPレスポンスで使用する文字コードを固定で設定します。
両方が設定され場合、前者のMap設定の優先度が高くなります。

文字コード優先設定 ドメイン(またはプロセスグループ)にHTTPレスポンスに優先的に使用される文字コードを設定します。 domain.xml ドメイン ドメイン(プロセスグループ)再起動 otxadminコマンド
otxadmin> set server.web-container
.property.priority-response-encoding=EUC-JP
配備記述子文字コード設定 Servlet2.4の仕様でロケールおよび文字エンコードのマッピングをweb.xmlに設定できます。
javax.servlet.ServletResponseのsetLocale()メソッドが呼ばれた時に参照され、設定した ロケールに対応する文字コードが設定されます。
レスポンスデータをUnicodeから設定された文字コードに変換してレスポンス出力します。
web.xml Webアプリケーション 再配備
<web-app>
    :
  <locale-encoding-mapping-list>
    <locale-encoding-mapping>
      <locale>ja</locale>
      <encoding>windows-31j</encoding>  
    </locale-encoding-mapping>
    <locale-encoding-mapping>
      <locale>ko</locale>
      <encoding>EUC-KR</encoding>
    </locale-encoding-mapping>
  </locale-encoding-mapping-list>
    :
setCharacterEncoding設定 ServletResponseのsetContentType()またはsetCharacterEncoding()にてcharsetが設定された場合、レスポンスデータをUnicodeから設定された文字コードに変換してレスポンス出力します。 ユーザロジック Webアプリケーション 再配備
    :
((HttpServletResponse)response).
        setContentType("text/html; charset=Shift_JIS")
    :
デフォルト設定 上記の設定が無い場合、レスポンスデータをUnicodeからデフォルトの文字コード"ISO-8859-1"に変換してレスポンス出力します。 -- -- -- --
JSPファイルのコンパイル

JSPファイルがどの文字コードで記述されているか(読み込み時どのエンコーディングでデコードするか)は通常、以下の処理順で決定されます。 ここで決定された文字コードはJSPファイルを読み込む際のInputStremに適用されます。

表1.4.8.2-3
優先度 設定項目名 説明 設定場所 有効範囲 反映方法 設定例
優先文字コード設定 Webアプリケーション毎にJSPファイルのコンパイルに優先的に使用される文字コードを設定します。 nec-web.xml Webアプリケーション 再配備
<nec-web-app>
    :
  <jsp-config>
    <property name="priorityJspInEncoding" value="EUC-JP"/>
  </jsp-config>
    :
優先文字コード設定 ドメイン(またはプロセスグループ)にJSPファイルのコンパイルに優先的に使用される文字コードを設定します。 domain.xml ドメイン(プロセスプロセスグループ) ドメイン(プロセスプロセスグループ)再起動 otxadminコマンド
otxadmin> set server.web-container
.property.priority-jsp-in-encoding=EUC-JP
JSPファイルpageEncoing設定 JSPファイルにpageEncoing設定が記述されている場合、その文字コードでJSPファイルを読み込みUnicodeに変換します。 ユーザロジック JSPファイル 再配備
<%@ page pageEncoding="windows-31j"%>
      :
JSPファイルcontentType設定 JSPファイルにpageEncoing設定が無くcontentType設定(charset指定)が記述されている場合、その文字コードでJSPファイルを読み込みUnicodeに変換します。 ユーザロジック JSPファイル 再配備
<%@ page contentType="text/html;charset=windows-31j"%>
      :
配備記述子設定 JSP2.0の仕様でJSPファイル読み込み時の文字コードをweb.xmlに設定できます。contentType設定(charset指定)が無い場合、web.xmlで設定した文字コードでJSPファイルを読み込みUnicodeに変換します。 web.xml Webアプリケーション 再配備
<web-app>
    :
  <jsp-config>
    <jsp-property-group>
      <url-pattern>/jsp/*</url-pattern>
      <page-encoding>Shift_JIS</page-encoding>  
    </jsp-property-group>
  </jsp-config>
    :
デフォルト文字コード設定 pageEncoing設定、contentType設定が共に無い、web.xmlの設定も無い場合、デフォルトの文字コードが使用されますが、そのデフォルト文字コードを変更することができます。 domain.xml ドメイン(プロセスプロセスグループ) ドメイン(プロセスプロセスグループ)再起動 otxadminコマンド
otxadmin> set server.web-container
.property.default-encoding=Shift_JIS
デフォルト設定 上記のいずれの設定も無い場合、JSPファイルはデフォルトの文字コード"ISO-8859-1"で読み込まれUnicodeに変換されます。 -- -- -- --
JSPファイルのレスポンス

出力するレスポンスデータはどのUnicodeから文字コードに変換するかは通常、以下の処理順で決定されます。 ここで決定されたエンコーディングはレスポンスのヘッダ情報(Content-Typeのcharset)と出力する際OutputStreamに適用されます。

表1.4.8.2-4
優先度 設定項目名 説明 設定場所 有効範囲 反映方法 設定例
優先文字コード設定 Webアプリケーション毎にJSPファイルのレスポンスに優先的に使用される文字コードを設定します。 nec-web.xml Webアプリケーション 再配備
<nec-web-app>
    :
  <jsp-config>
    <property name="priorityJspOutEncoding" value="EUC-JP"/>
  </jsp-config>
    :
優先文字コード設定 ドメイン(またはプロセスグループ)にJSPファイルのレスポンスに優先的に使用される文字コードを設定します。 domain.xml ドメイン(プロセスプロセスグループ) ドメイン(プロセスプロセスグループ)再起動 otxadminコマンド
otxadmin> set server.web-container
.property.priority-jsp-out-encoding=EUC-JP
setContentType設定 JSPファイルにcontentType設定(charset指定)が記述されている場合、レスポンスデータをUnicodeから設定文字コードに変換してレスポンス出力します。 ユーザロジック JSPファイル 再配備
<%@ page contentType="text/html;charset=windows-31j"%>
      :
デフォルト文字コード設定 contentType の設定が無い場合、デフォルトの文字コードが使用されますがそのデフォルト文字コードを変更することができます。 domain.xml ドメイン ドメイン再起動 otxadminコマンド
otxadmin> set server.web-container
.property.default-encoding=Shift_JIS
デフォルト設定 上記のいずれの設定も無い場合、JSPのレスポンスデータをUnicodeからデフォルトの文字コード"ISO-8859-1"に変換してレスポンス出力します。 -- -- -- --


1.4.9. 使用可能文字について

各箇所で使用可能な文字について記述します。

1.4.9.1. URL

RFC3986仕様より、URL 中に書くことが許されているのは、半角アルファベット、数字と以下の(半角)記号です

. $ , ; : & = ? ! * ~ @ # _ - ( ) [ ]

またURLのコンテキスト名以降の各パーツで使用可能な文字を記述します。

http://<server名>:<ポート名>/<コンテキスト名>/<パス>/<サーブレット名>?<パラメータ>

  1. コンテキスト名
    Webアプリケーションを配備する際に指定したコンテキストルートに相当する部分です。
    "/hoho1/hoho2"のようにスラッシュで区切って設定することも可能ですが、セッションレプリケーションを利用できないなど制限があります。詳細は [全般 > 注意制限事項 > 3. Webコンテナ > 3.1. 注意事項] を参照してください。また、"/hoho1/."のようにピリオド区切り(/)間をピリオドのみで構成することはできません。

    半角アルファベット、数字と以下の(半角)記号が使用可能です。

    . $ ! ~ - _ ( )


  2. サーブレット名
    web.xmlに記述する<servlet-mapping>の<url-pattern>に相当します。"/abc/Servlet1"のようにスラッシュで区切って設定することも可能です。
    アクセスする際は、コンテキスト名"/hoho1/hoho2"、サーブレット名"/abc/Servlet1"と設定した場合
      http://server:port/hoho1/hoho2/abc/Servlet1
    のようにアクセスします。

    半角アルファベット、数字と以下の(半角)記号が使用可能です。

    . $ , : = ! * ~ @ - _ ( ) [ ]


  3. パス
    Webアプリケーション内のディレクトリ構成に相当します。

    半角アルファベット、数字と以下の(半角)記号が使用可能です。

    . $ , ! ~ @ - _ ( ) [ ]


  4. ファイル名
    htmlやjspのファイル名です。

    半角アルファベット、数字と以下の(半角)記号が使用可能です。

    . $ , & = ! ~ @ - _ ( ) [ ]



  5. パラメータ
    パラメータ名には、半角アルファベット、数字と以下の(半角)記号が使用可能です。
    ※2バイト文字を使用する場合はエンコードした形式(%XX)にする必要があります。通常はブラウザが自動的にエンコードしてくれます。
    . $ , ; : ? ! * ~ @ - _ ( ) [ ]

    パラメータの値には、半角アルファベット、数字と以下の(半角)記号が使用可能です。
    ※2バイト文字を使用する場合はエンコードした形式(%XX)にする必要があります。通常はブラウザが自動的にエンコードしてくれます。
    . $ , ; : = ? ! * ~ @ - _ ( ) [ ]

1.4.9.2. アカウント/パスワード

Webにおける認証(Basic/Form認証等)に使用するアカウント/パスワードについて記述します。

  1. アカウント
    利用可能な文字は英数字と “-“、”_”です。

  2. パスワード
    英数字と記号が利用できますが、「\」、「”」文字は利用できません。



1.4.9.3. XMLファイル

要素名、属性名の使用可能文字はXMLの仕様に従います。値にも次の文字は使用できません。



1.4.10. 配備記述子強制設定について

Webアプリケーション内の配備記述子(web.xml、nec-web.xml、web-fragment.xml)で設定された設定値を上書きします。本機能を利用することによりWebアプリケーションを再作成することなく、変更した配備記述子の設定でWebアプリケーションを動作させることができます。

1.4.10.1. 配備記述子強制設定機能を有効にする設定方法

配備記述子強制設定機能を利用するためには、次のJavaシステムプロパティを設定してください。

com.nec.webotx.enterprise.web.WebContainer.overrideWebxml=true

Javaシステムプロパティの設定方法については、「1.4.2.3.JavaVMオプションで設定可能な項目一覧」を参照してください。

1.4.10.2. 配備記述子の強制設定方法

配備記述子の強制設定は、domain.xml の deployment-config要素に登録されている強制設定情報(param要素)に従って行われます。
配備記述子の設定変更を反映するには、次の手順で行います。

  1. 配備記述子強制設定情報の登録
  2. Webアプリケーションのリロード
(1)配備記述子強制設定情報の登録

次の運用管理コマンド(otxadmin)を利用することで domain.xml の強制設定情報の登録、削除、参照を行うことができます。コマンドの詳細については「リファレンス集 運用管理・設定編 > 4. 運用管理コマンドリファレンス > 4.2. 運用管理コマンド(otxadmin)」を参照してください。

set-web-param
unset-web-param
list-web-params

強制設定情報の登録

強制設定情報を domain.xml に登録するには set-web-param コマンドを利用します。
set-web-param コマンドの実行例を次に示します。

otxadmin> set-web-param --file web.xml --type update --elementname servlet/servlet-class --elementvalue className examples

上記の実行例のコマンドを実行することで、domain.xml の deployment-config要素には次の param要素が登録されます。

<deployment-config>
 <param param-target="" context-root="examples" element-name="servlet/servlet-class" element-value="className" file="web.xml" attribute-value="" property-name="" property-value="" attribute-name="" type="update"></param>
</deployment-config>

強制設定情報の削除

強制設定情報を domain.xml から削除するには unset-web-param コマンドを利用します。
unset-web-param コマンドの実行例を次に示します。

otxadmin> unset-web-param --file web.xml --type update --elementname servlet/servlet-class examples

上記の実行例のコマンドを実行することで、domain.xml の deployment-config要素に登録されている param要素が削除されます。コマンド実行前と実行後の domain.xml の内容を以下に示します。

実行前
<deployment-config>
 <param param-target="" context-root="examples" element-name="servlet/servlet-class" element-value="className" file="web.xml" attribute-value="" property-name="" property-value="" attribute-name="" type="update"></param>
</deployment-config>

実行後
<deployment-config>
</deployment-config>

強制設定情報の参照

domain.xml に登録されている強制設定情報を参照するには list-web-params コマンドを利用します。
list-web-params コマンドの実行例を次に示します。

otxadmin> list-web-params

上記の実行例のコマンドを実行することで、domain.xml の deployment-config要素に登録されている全ての param要素を表示することができます。

(2)Webアプリケーションのリロード

domain.xml に設定されている強制設定情報を配備記述子に反映するには、Webアプリケーションのリロードが必要なります。Webアプリケーションのリロード方法を次に示します。

Caution
Webアプリケーションのリロードを行っていない場合、domain.xml に強制設定情報が登録されていても、Webアプリケーションの配備記述子は更新されず、従来の動作のままとなります。

Web版統合運用管理コンソールを利用する場合
  1. Web版統合運用管理コンソールへの接続

    Webブラウザを起動し、Web版統合運用管理コンソールへ接続します。"http://<host>:<port>/manager/"に接続してください。
    ※domain1のポート番号の既定値は 5858 です。

  2. Webアプリケーションの再起動

    管理コンソールの左側のツリーで「アプリケーション」-「Webモジュール」を選択します。
    リロード対象のWebアプリケーションの停止ボタンをクリックし、停止した後に起動ボタンをクリックしてWebアプリケーションを起動してください。

    以上でWebアプリケーションのリロードは完了です。

運用管理コマンド(otxadmin)を利用する場合

次のように、invoke コマンドを利用することによりWebアプリケーションをリロードすることができます。

otxadmin> invoke server.web-container.reloadAllModules
配備記述子強制設定機能の注意事項

配備記述子の強制設定を行う上での注意点を以下に記載しています。

  1. 配備記述子の次の要素については、強制設定の対象外になります。

    env-entry要素
    ejb-ref要素
    ejb-local-ref要素
    context-root要素

  2. 配備記述子の設定変更はドメインの再起動、Webコンテナの再起動を行うことでも反映させることができますが、配備記述子の jsp-config要素配下の値に対して設定変更を行う場合には「(2)Webアプリケーションのリロード」で記載しているWebアプリケーションのリロードを行ってください。

    Caution
    jsp-config要素の設定変更を反映させるにはjspの再コンパイルが必要になります。しかしドメインの再起動、Webコンテナの再起動ではjspの再コンパイルは行わないため、Webアプリケーションのリロードが必要になります。

  3. set-web-param コマンドを実行する際に次のオプションとオペランドである context-root の値がdomain.xml に登録されている param要素の値と完全一致する場合、一致している param要素の内容を更新します。

    ・fileオプション
    ・typeオプション
    ・paramtargetオプション
    ・elementnameオプション
    ・propertynameオプション
    ・attributenameオプション

    例えば elementvalue オプションの値のみが異なる set-web-param コマンドを続けて実行した場合、後に実行したコマンドの情報で最初に実行したコマンドの情報を上書きします。
    set-web-param コマンドとコマンド実行後の domain.xml の例を次に示します。

    set-web-param コマンド

    otxadmin> set-web-param --file web.xml --type update --elementname servlet/servlet-class --elementvalue className examples
    コマンド set-web-param は正常に実行されました。
    otxadmin> set-web-param --file web.xml --type update --elementname servlet/servlet-class --elementvalue newClassName examples
    コマンド set-web-param は正常に実行されました。
    

    domain.xml のdeployment-config要素

    <deployment-config>
     <param param-target="" context-root="examples" element-name="servlet/servlet-class" element-value="newClassName" file="web.xml" attribute-value="" property-name="" property-value="" attribute-name="" type="update"></param>
    </deployment-config>


1.5. EJBコンテナ

EJBコンテナに関する設定について説明します。

1.5.1. EJBコンテナ設定項目・設定方法

EJBコンテナに関する設定項目には次のものがあります。

EJBインスタンスプール

EJBインスタンスキャッシュ

Entity Beanトランザクションコミットオプション

組み込みIIOPリスナ

それぞれ設定項目については全てMO化されています。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

エディションによる違い

Standard/EnterpriseではEJBはTPモニタのプロセスグループ上で動作します。このためTPモニタの設定に影響されます。詳しくはTPモニタの設定の章を参照してください。

組み込みIIOPリスナについて

組み込みIIOPリスナとは、ExpressにおけるEJBに対する要求や、JNDIサーバに対するRMI-IIOPのリクエストを処理するリスナです。これはエージェントプロセス内で動作します。EJBやJNDIサーバに対する通信ポート番号やSSLの使用の有無などを設定する場合は、この組み込みIIOPリスナの設定を変更してください。

Standard/EnterpriseにおけるEJBの通信リスナはTPモニタのIIOPリスナとなりますのでそちらの設定に従います。このため、組み込みIIOPリスナの設定はJNDIサーバに対してのみ有効となります。

既定値ではEJBコンテナとJNDIサーバに対する通信ポートは7780となります。

組み込みIIOPリスナのMO名は「embedded-iiop-service」、それ以外の上記3つに対応するMO名は「ejb-container」です。

1.5.2. EJBコンテナ設定項目一覧

以下はMOで設定可能なEJBコンテナ設定項目一覧です。

Dottedname : server.ejb-container

表1.5.2-1
属性名
(attribute-name)
説明 既定値
steady-pool-size Beanインスタンスの初期値を指定します。この値がプールで保持されます。0からint型の最大値を指定することができます。
0
pool-resize-quantity サーバがプールを処理する時に作成または削除するBeanインスタンス数を指定します。0からint型の最大値を指定することができます。
8
max-pool-size Beanインスタンスプールの最大値を指定します。0からint型の最大値を指定することができます。0を指定するとプールサイズが無制限となります。
32
pool-idle-timeout-in-seconds ステートレスセッションBeanおよびエンティティBeanがアイドル状態でプール内に存在できる最大時間を指定します。この時間を過ぎるとBeanインスタンスは削除されます。 600(s)
cache-resize-quantity サーバがキャッシュを処理する時に作成または削除するBeanインスタンス数を指定します。0からint型の最大値を指定することができます。 32
max-cache-size キャッシュに格納できるBeanインスタンスの最大値を指定します。0を指定するとキャッシュできるBean数は無制限になります。 512
cache-idle-timeout-in-seconds ステートフルセッションBeanやMDBがアイドル状態でキャッシュ内に存在できる最大時間を指定します。この時間を過ぎるとBeanはバックアップストアで非活性化されます。 600(s)
removal-timeout-in-seconds ステートフルセッションBeanが非活性化される時間を指定します。この時間を過ぎてもアクセスされなかった場合、Beanは削除されクライアントからアクセスできなくなります。 5400(s)
victim-selection-policy ステートフルセッションBeanのキャッシュから削除対象を特定するアルゴリズムを指定します。FIFO/LRU/NRUのいずれかを指定します。 nru
commit-option エンティティBeanのトランザクションコミットオプションの指定をします。BまたはCのいずれかを指定します。 B
session-store 非活性化されたBeanがファイルとして保持される場所を指定します。 ${INSTANCE_ROOT}/session-store
initial-pool 初期プールを作るかどうかを指定します。trueの場合、配備後やプロセス起動時に通常プールサイズ個のインスタンスが作成されます。 true

Dottedname : server.mdb-container

表1.5.2-2
属性名
(attribute-name)
説明 既定値
steady-pool-size Beanインスタンスの初期値を指定します。この値がプールで保持されます。0からint型の最大値を指定することができます。
0
pool-resize-quantity サーバがプールを処理する時に作成または削除するBeanインスタンス数を指定します。0からint型の最大値を指定することができます。
8
max-pool-size Beanインスタンスプールの最大値を指定します。0からint型の最大値を指定することができます。0を指定するとプールサイズが無制限となります。
32
idle-timeout-in-seconds MDBがアイドル状態でプール内に存在できる最大時間を指定します。この時間を過ぎるとBeanインスタンスは削除されます。 600(s)
initial-pool 初期プールを作るかどうかを指定します。trueの場合、配備後やプロセス起動時に通常プールサイズ個のインスタンスが作成されます。 true

Dottedname : server.embedded-iiop-service

表1.5.2-3
属性名
(attribute-name)
説明 既定値
enabled 組み込みIIOPリスナを有効にするかどうかを指定します。 true
port 暗号化しない通信を行うときに使用するポート番号を指定します。 7780
0は自動割当を示す
ssl-port SSLクライアント認証なしの通信を行うときに利用するポート番号を指定します。 -1
ssl-auth-port SSLクライアント認証ありの通信を行うときに利用するポート番号を指定します。 -1
max-accept-number 同時クライアント接続数を指定します。 -1(制限無し)
client-timeout クライアント無通信監視タイマ時間(秒)を指定します。 0(監視無し)
cert-key サーバ側のSecureWare/セキュリティパックにて登録済みの鍵を特定する鍵IDまたはJSSEで使用するサーバ証明書のファイル名を指定します。 null
cert-key-pass-phrase JSSEで使用するサーバ証明書のパスワードを指定します。 null
cart-key-type JSSEで使用するサーバ証明書の鍵の形式(RSA, DSAなど)を指定します。 DSA
cert-key-file-type JSSEで使用するサーバ証明書のファイルの形式(PKCS12もしくはJKS)を指定します。 PKCS12
cert-alias JSSEで使用するサーバ証明書の鍵の別名を指定します。 null
cert-alias-pass-phrase JSSEで使用するサーバ証明書の鍵の別名のパスワードを指定します。 null
trusted-ca-certs JSSEで使用する信頼するCA証明書のファイル名を指定します。 null
trusted-ca-certs-pass-phrase JSSEで使用する信頼するCA証明書のファイルのパスワードを指定します。 null
trusted-ca-certs-file-type JSSEで使用する信頼するCA証明書のファイルの形式(PKCS12もしくはJKS)を指定します。 null

※ これらプールに関する設定は、ローカルインタフェースおよびローカルビジネスインタフェースを持つEJBに対しては全エディションで有効ですが、リモートインタフェースおよびリモートビジネスインタフェースを持つ EJBに対しては、Expressでのみ有効です。Standard/Enterpriseにおけるプールの設定については、[ 高度な管理と運用サイクルガイド > 2. チューニング > 2.8. EJBコンテナ ]を参照してください。

1.5.3. タイマBeanの使用方法について

EJB 2.1仕様ではコンテナ管理のタイマ機能が新たに追加されました。

WebOTXでこのタイマ機能を使用するためには、タイマ機能で使用するデータソースとデータベースのテーブルが必要となります。インストール時にはこれらは設定されていませんので、タイマ機能を使用するためには以下の手順でセットアップを行う必要があります。

(1) データソースの登録

タイマを使用するドメインに対して "jdbc/__TimerPool" という名前のデータソースを追加してください。また対応するJDBCドライバをドメインのクラスパスに追加してください。

(2) テーブルの作成

${AS_INSTALL}/lib/install/databasesにOracle、Derby、DB2、SQL Server、Sybase用のテーブル作成SQLファイルがありますので、これを使用して追加したデータソースで接続するデータベース上にテーブルを作成してください。他のデータベースを使用する場合もこのSQLを参考にして同じテーブル名、カラム名でテーブルを作成してください。

(3) ドメイン再起動

ドメインを再起動すると、タイマ機能が使用可能になります。

1.6. JNDIサービス

JNDIサービスに関する設定について説明します。

1.6.1. JNDI設定項目・設定方法

JNDIサービスの設定項目については全てMO化されています。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

1.6.2. JNDIサービス設定項目一覧

以下はMOで設定可能なJNDIサービス設定項目一覧です。

Dottedname : server.jndi-service

表1.6.2-1
属性名
(attribute-name)
説明 既定値
bind-to-nameservice JNDIサーバのリファレンスをCosNamingサーバに登録するかどうかを指定します。
プロバイダURLとしてcorbaname形式を指定する場合はtrueにする必要があります。
false(Express の場合)
true(Standard 以上の場合)
cnsurl キャッシュ名前サーバを経由してJNDIサーバを使用する場合にキャッシュ名前サーバのURLのリストをカンマで区切って指定します。

例 corbaname://host1:9829,corbaname://host2:9829
null
cns-interval CNSと連携する場合に、起動した後でCNSとの通信を行う間隔(秒)を指定します。 60
persistent-backupinterval 名前情報の永続化を行う場合、何回名前情報が更新されたら永続化ファイルをバックアップするかを指定します。1の場合名前情報が更新されるたびにバックアップを行ないます。 1
persistent-maxsize 名前情報の永続化を行う場合に永続化ファイルの最大サイズ(Kbyte)を指定します。 0
persistent-storedir 名前情報をファイルに永続化する場合、永続化ファイルの格納先のディレクトリ名を指定します。 ${INSTANCE_ROOT}/
config/jndisp/store
persistent-storedir-backup 名前情報をファイルに永続化する場合、バックアップ先のディレクトリ名を指定します。 ${INSTANCE_ROOT}/
config/jndisp/store
remote 他のプロセスからJNDIにアクセスできるかどうかを指定します。HTTPセッションレプリケーション機能、リモートインタフェースを持つEJB、またはJMSを使用する場合、リモートアクセス可能である必要があります。リモートアクセス可能の場合、Object Brokerのサービス起動が必須となります。 true
server-name JNDIサーバをレプリケーションする場合、それぞれのJNDIサーバを識別するための名前を指定します。指定がない場合は 「ローカルホスト名:ドメイン名」 が使用されます。
ドメインが正常に停止できなかった後でこの値が変わるとJNDIサーバの動作が不正になる場合があります。
JNDIサーバが動作するホストが仮想ホスト名を持ち、その仮想ホスト名が変わる場合、この値を他のドメインと重ならない任意の固定文字列に設定してください。
null
startup-cosnaming-retry-interval 起動時にCosNamingサーバとの通信リトライを行う間隔(秒)を指定します。 1
startup-cns-retry-interval CNSと連携する場合に、起動時にCNSとの間で行う通信におけるリトライ間隔(秒)を指定します。 1
url 連携するCosNamingサーバのURLのリストをカンマで区切って指定します。

例 corbaname://host1,corbaname://host2
null
strictly-synchronization サーバ上で動作するアプリケーション(Webアプリケーション、EJBアプリケーション)のJNDIアクセスを「厳密な同期処理モード」にします。 false
startup-cosnaming-wait-timeout JNDIサーバが起動時に行うCosNamingサービスへのオブジェクトリファレンスの登録処理の最大の待ち合わせ時間を秒で設定します。 設定されていない場合は既定値の120秒になります。 120
emptize-exception-stack-trace trueのとき、JNDIサーバはスタックトレースを空にしてから例外をスローします。 true
unbind-and-destroy-as-spec trueのとき、unbindおよびdestroySubcontextメソッドがJNDI仕様どおり冪等になります。 false

1.6.3. JNDIサーバの通信リスナの設定

JNDIサービスはEJBと同じく、RMI-IIOPを使用して通信を行ないます。 このため通信用ポートなどの設定は組み込みIIOPリスナの設定で行ないます。組み込みIIOPリスナについてはEJBコンテナの設定方法を参照してください。

1.6.4. JNDIサーバをレプリケーションするための設定

HTTPセッション情報のみをレプリケーションする場合は以下の手順は必要ありません。代わりにWebコンテナのsession-replication-jndi-url属性で設定します。詳しくは、「1.4.3. HTTPのみのセッションレプリケーション」を参照してください。

JNDIサーバの名前情報全体を複数ドメイン間でレプリケーションするためには、それぞれのドメインで同じCosNamingサーバと連携するように設定します。あらかじめJNDIサーバのbind-to-nameservice属性をtrueに設定しておく必要があります。

(1) CosNamingサーバと連携する場合

それぞれのドメインのURLの設定でレプリケーションするドメインのCosNamingサーバのURLを列挙します。列挙したCosNamingサーバは、その順序に関係なく、レプリケーション対象として対等に扱われます。

例えばserver1のport1のCosNamingサーバの動作するドメインとserver2のport2のCosNamingサーバの動作するドメイン間でレプリケーションする場合、両方のドメインのurlの設定値を以下のように設定します。

corbaname://server:port1,corbaname://server:port2

(2) キャッシュ名前サーバと連携する場合

キャッシュ名前サーバと連携する場合、urlにキャッシュ名前サーバでなく、CosNamingサーバのポート番号を設定します。そしてcnsurlにキャッシュ名前サーバのURLを指定します。

レプリケーションを行うと、JNDIサーバへのバインドなどの名前を更新する処理は上記のCosNamingサーバのURLに登録されている全てのJNDIサーバに対して行われます。 あるドメインのJNDIサーバを後から起動した場合でも、他の動作中のJNDIサーバから登録情報を取得して自身の登録情報にマージします。 レプリケーション対象のJNDIサーバのリストはObject BrokerのCosNamingサーバに登録されますが、ドメインを停止するとCosNamingサーバ上のリストがクリアされます。 そのためJNDIサーバをレプリケーションしている環境で、あるドメインを起動したまま別のレプリケーション対象のドメインを再起動した場合、 再起動したドメインのCosNamingサーバに対して停止しなかったドメインのJNDIサーバを再登録する必要があります。

JNDIサーバの再登録および登録解除は、統合運用管理ツールのJNDIサービスで行います。運用管理コマンドを使用する場合は以下のように行います。 この操作を行っても、JNDIサーバの名前情報に影響はありません。

otxadmin>invoke server.jndi-service.bindRemoteReference
otxadmin>invoke server.jndi-service.unbindRemoteReference

1.7. JMS

JMSに関する設定について説明します。

1.7.1. JMS設定項目・設定方法

JMSサーバは独立したプロセスで実装しており、WebOTXのアプリケーションサーバ本体には、リソースアダプタにより接続連携しています。

JMSサーバや、JMSリソース、および、送信先の基本的な管理は、運用管理コマンド(otxadmin)、あるいは、統合運用管理ツールで行います。さらに詳細な管理を行うためには、JMSサーバが提供している専用の運用管理ツールを利用します。

運用管理コマンド、あるいは、統合運用管理ツールからの各項目の設定方法については、「1.1. 各サービスの属性」を参照してください。また、JMSサーバが提供している専用の各運用管理ツールについては、「4. 運用管理コマンドリファレンス > 4.4. JMS」を参照してください。

1.7.1.1. JMSサーバに対する設定

JMSサーバの運用に関するプロパティは、JMSサービス(jms-service)と、JMSホスト(jms-host)のMOから設定できます。

運用管理コマンドや、統合運用管理ツールでは、それぞれ以下のように指定します。

運用管理コマンド:
server.jms-service
server.jms-service.jms-host.default_JMS_host

統合運用管理ツール:
WebOTX管理ドメイン[<ホスト名>].<ドメイン名>.アプリケーションサーバ.JMSサービス
WebOTX管理ドメイン[<ホスト名>].<ドメイン名>.アプリケーションサーバ.JMSサービス.JMSホスト.default_JMS_host

JMSサーバは、1〜4のプロパティを取り込みます。優先順位は、後ろのものほど高くなっています。

  1. default.propertiesファイル

    プロパティのデフォルト値が定義されたファイルで、次の位置にあります。

    ${AS_INSTALL}/wojms/lib/props/broker/default.properties

    注意 :
    利用者は直接編集を行わないで下さい。

  2. install.propertiesファイル

    インストール時に指定されたプロパティが格納されるファイルで、次の位置にあります。

    ${AS_INSTALL}/wojms/lib/props/broker/install.properties

    注意 :
    利用者は直接編集を行わないで下さい。

  3. config.propertiesファイル

    ドメイン固有のJMSサーバに対するプロパティ設定を記述するファイルで、次の位置にあります。ファイルはドメイン生成時に作成されます。

    ${INSTANCE_ROOT}/wojms/instances/<JMSサーバインスタンス識別子>/props/config.properties

    備考 :
    <JMSサーバインスタンス識別子>の既定値は「wojmsbroker」です。

  4. JMSサーバの起動引数(server.jms-service.start-args)

    起動引数で指定したプロパティは、すべてのプロパティ設定ファイルに対して優先されます。

1.7.1.2. コネクションファクトリに対する設定

コネクションファクトリリソース

コネクションファクトリリソースは、Java EEアプリケーションからJNDIを通して利用します。項目の設定や、参照を行う場合、運用管理コマンドや、統合運用管理ツールでは、それぞれ以下のように指定します。
connection-factory-name」は、コネクションファクトリリソースの定義名で、JNDIの登録名になります。

運用管理コマンド:
server.resources.jms-resource.jms-connection-factory.connection-factory-name

統合運用管理ツール:
WebOTX管理ドメイン[<ホスト名>].<ドメイン名>.リソース.JMSリソース.コネクションファクトリリソース.connection-factory-name

1.7.1.3. 送信先に対する設定

送信先

物理的な送信先の設定や、項目の参照を行う場合、運用管理コマンドや、統合運用管理ツールでは、それぞれ以下のように指定します。「physical-destination-name」は、送信先の定義名です。

運用管理コマンド:
server.jms-service.jms-physical-destination.physical-destination-name

統合運用管理ツール:
WebOTX管理ドメイン[<ホスト名>].<ドメイン名>.アプリケーションサーバ.JMSサービス.送信先名.physical-destination-name
送信先リソース

送信先リソースは、Java EEアプリケーションからJNDIを通して利用します。項目の設定や、参照を行う場合、運用管理コマンドや、統合運用管理ツールでは、それぞれ以下のように指定します。
logical-destination-name」は、送信先リソースの定義名で、JNDIの登録名になります。

運用管理コマンド:
server.resources.jms-resource.jms-logical-destination.logical-destination-name

統合運用管理ツール:
WebOTX管理ドメイン[<ホスト名>].<ドメイン名>.リソース.JMSリソース.送信先リソース.logical-destination-name

1.7.2. JMS設定項目一覧

運用管理コマンド、統合運用管理ツールで制御できるMOの属性と、そのベースとなるJMSのプロパティ/属性一覧を示します。

1.7.2.1. MOの属性一覧

JMSに関連するMOのうち、属性を設定できるものは、以下の5種類です。以降、各MOについて設定できる属性を説明します。

1.7.2.2. JMSサービス

連携するJMSサーバに関する情報を定義します。
この定義は、運用管理コマンドのcreate-domainによるドメイン生成時に自動的に設定されます。
MOのdottednameは「server.jms-service」です。設定可能な属性や、操作については、「2. MO定義リファレンス > jms-service」を参照してください。
なお、jms-serviceの「プロパティ」として設定できるのは、以下の項目です。

表1.7.2.2-1
プロパティ名
説 明 既定値
auto-shutdown ドメイン停止時にJMSサーバを停止するかどうかを指定します。
true:停止する
false:停止しない
true
instance-name JMSサーバインスタンス識別子を指定します。
※ 同一ホストでJMSサーバクラスタを構成する場合は、この値をホスト内で一意にしておく必要があります。
wojmsbroker
wojmsConnectionPooling JMSリソースアダプタ利用時に、コネクタコネクションプールにJMSサーバとの物理的なコネクションをプールするかどうかを指定します。
true:プールする
false:プールしない
※ この設定は、アプリケーションサーバ上で動作するJMSコネクションファクトリリソースが利用するすべてのコネクタコネクションプールに影響します。
true

1.7.2.3. JMSホスト

JMSサーバの起動、JMSサーバへの接続に必要な情報を定義します。
この定義は、create-domainコマンドによるドメイン生成時に自動的に設定されます。ポート番号については、create-domainコマンドの--fileオプションで指定するプロパティファイル(ドメイン設定ファイル)に、domain.jms.portとして指定することができます。
MOのdottednameは「server.jms-service.jms-host.default_JMS_host」です。設定可能な属性や、操作については、「2. MO定義リファレンス > jms-host」を参照してください。

1.7.2.4. コネクションファクトリリソース

JNDIを通してアクセスするコネクションファクトリリソースを定義します。
この定義は、運用管理コマンドのcreate-jms-resource、統合運用管理ツールでは、「WebOTX管理ドメイン[<ホスト名>].<ドメイン名>.リソース.JMSリソース」の「コネクションファクトリリソースの作成」操作で作成されます。コネクションファクトリリソースの作成方法については、「ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.3. JMS > 7.3.3. JMSリソースの操作」を参照してください。
コネクションファクトリリソース(jms-connection-factory)作成時には、コネクタリソース(connector-resource)、コネクタコネクションプール(connector-connection-pool)、および、リソース参照(resource-ref)を自動的に作成し、属性値を設定します。 属性値を変更する場合は、コネクションファクトリリソースのMOを介して行います。 各MOのdottednameは以下のとおりです。

コネクションファクトリリソース
server.resources.jms-resource.jms-connection-factory.connection-factory-name

コネクタリソース
server.resources.connector-resource.connection-factory-name

コネクタコネクションプール
server.resources.connector-connection-pool.connection-factory-name

リソース参照
server.resource-ref.connection-factory-name

設定可能な属性や、操作については、「2. MO定義リファレンス」を参照してください。

注意 :
コネクションファクトリリソース作成時、「プロパティ」に属性と同じ名前の項目を指定した場合は、「プロパティ」に指定されたものが優先されます。

1.7.2.5. 送信先

物理的な送信先を定義します。
この定義は、運用管理コマンドのcreate-jmsdest、統合運用管理ツールでは、「WebOTX管理ドメイン[<ホスト名>].<ドメイン名>.アプリケーションサーバ.JMSサービス」の「送信先作成」操作で作成されます。送信先の作成方法については、「ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.3. JMS > 7.3.2. 送信先の操作」を参照してください。
MOのdottednameは「server.jms-service.jms-physical-destination.destination-name」です。設定可能な属性や、操作については、「2. MO定義リファレンス > jms-physical-destination」を参照してください。

注意 :
送信先作成時、「プロパティ」に属性と同じ名前の項目を指定した場合は、「プロパティ」に指定されたものが優先されます。

1.7.2.6. 送信先リソース

JNDIを通してアクセスする送信先リソースを定義します。
この定義は、運用管理コマンドのcreate-jmsresource、統合運用管理ツールでは、「WebOTX管理ドメイン[<ホスト名>].<ドメイン名>.リソース.JMSリソース」の操作である「送信先リソースの作成」で作成されます。送信先リソースの作成方法については、「ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.3. JMS > 7.3.3. JMSリソースの操作」を参照してください。
送信先リソース(jms-logical-destination)作成時には、管理オブジェクトリソース(admin-object-resource)と、リソース参照(resource-ref)を自動的に作成し、属性値を設定します。
属性値を変更する場合は、送信先リソースのMOを介して行います。
各MOのdottednameは以下のとおりです。

送信先リソース
server.resources.jms-resource.jms-logical-destination.logical-destination-name

管理オブジェクトリソース
server.resources.admin-object-resource.logical-destination-name

リソース参照
server.resource-ref.logical-destination-name

設定可能な属性や、操作については、「2. MO定義リファレンス」を参照してください。

注意 :
送信先リソース作成時、「プロパティ」に属性と同じ名前の項目を指定した場合は、「プロパティ」に指定されたものが優先されます。

1.7.2.7. JMSのプロパティ/属性一覧

ここでは、以下のプロパティや属性について説明します。

JMSサーバのプロパティ
1.7.1. JMS設定項目・設定方法 > 1.7.1.1. JMSサーバに対する設定」で説明した、「config.propertiesファイル」に設定できるプロパティです。以下のカテゴリに分けて説明しています。


JMSクライアントのプロパティ
非Java EE環境下で動作するJavaアプリケーションに有効であり、Javaシステムプロパティとして設定します。

1.7.2.8. JMSサーバのプロパティ

「config.properties」ファイルに設定するプロパティの一覧を示します。このファイルには、JMSサービス(jms-service)や、JMSホスト(jms-host)のMOから設定できない詳細な項目を指定します。「config.properties」ファイルの変更は、JMSサーバを停止した状態で行ってください。
ファイルの格納場所、設定方法については、「1.7.1. JMS設定項目・設定方法」を参照してください。

ただし、以下のプロパティについては、JMSサービス、あるいは、JMSホストのMOの属性値が優先されます。これらの値を設定する場合は各MOの属性値を設定してください。

MOの属性が優先されるプロパティ

表1.7.2.8-1
JMSサーバのプロパティ名
対応するMOの属性
wojms.system.max_count server.jms-service.systemMaxCount
wojms.system.max_size server.jms-service.systemMaxSize
wojms.message.max_size server.jms-service.messageMaxSize
wojms.log.level server.jms-service.loglevel
wojms.log.file.rolloverbytes server.jms-service.logfileRolloverBytes
wojms.log.file.rolloversecs server.jms-service.logfileRolloverSecs
wojms.autocreate.topic server.jms-service.autocreateTopic
wojms.autocreate.queue server.jms-service.autocreateQueue
wojms.autocreate.queue.maxNumActiveConsumers server.jms-service.autocreateMaxNumActiveConsumers
wojms.autocreate.queue.maxNumBackupConsumers server.jms-service.autocreateMaxNumBackupConsumers
wojms.redelivery.delay server.jms-service.wojmsRedeliveryDelay
wojms.redelivery.limit server.jms-service.wojmsRedeliveryLimit
wojms.redelivery.destination server.jms-service.wojmsRedeliveryDestination
wojms.expiration.destination server.jms-service.wojmsExpirationDestination
wojms.client_metrics.enabled server.jms-service.enableClientMetrics
wojms.display.message.count server.jms-service.displayMessageCount
wojms.log.file.filename server.jms-service.logfileName
wojms.log.admin.output server.jms-service.logAdmin
wojms.log.admin.rolloverbytes server.jms-service.logfileRolloverBytesAdmin
wojms.log.admin.rolloversecs server.jms-service.logfileRolloverSecsAdmin
wojms.log.admin.filename server.jms-service.logfileNameAdmin
wojms.log.error.output server.jms-service.logError
wojms.log.error.rolloverbytes server.jms-service.logfileRolloverBytesError
wojms.log.error.rolloversecs server.jms-service.logfileRolloverSecsError
wojms.log.error.filename server.jms-service.logfileNameError
wojms.log.message.output server.jms-service.logMessage
wojms.log.message.rolloverbytes server.jms-service.logfileRolloverBytesMessage
wojms.log.message.rolloversecs server.jms-service.logfileRolloverSecsMessage
wojms.log.message.filename server.jms-service.logfileNameMessage
wojms.log.packet.output server.jms-service.logPacketAdmin
server.jms-service.logPacketMessage
server.jms-service.logPacketPing
server.jms-service.logPacketCluster
wojms.log.packet.rolloverbytes server.jms-service.logfileRolloverBytesPacket
wojms.log.packet.rolloversecs server.jms-service.logfileRolloverSecsPacket
wojms.log.packet.filename server.jms-service.logfileNamePacket
wojms.enable_cluster server.jms-service.enableCluster
wojms.cluster.brokerlist server.jms-service.clusterBrokerList
wojms.cluster.masterbroker server.jms-service.clusterMasterBroker
wojms.persist.store server.jms-service.storeType
wojms.persist.jdbc.brokerid server.jms-service.jdbcStoreBrokerid
(server.jms-service.storeTypeでJDBCストアを指定している場合のみ)
wojms.persist.jdbc.user server.jms-service.jdbcStoreUser
(server.jms-service.storeTypeでJDBCストアを指定している場合のみ)
wojms.persist.jdbc.password server.jms-service.jdbcStorePassword
(server.jms-service.storeTypeでJDBCストアを指定している場合のみ)
wojms.jms.tcp.port server.jms-service.connectionServicePortJms
wojms.admin.tcp.port server.jms-service.connectionServicePortAdmin
wojms.ssljms.tls.port server.jms-service.connectionServicePortSsljms
wojms.ssladmin.tls.port server.jms-service.connectionServicePortSsladmin
wojms.cluster.port server.jms-service.clusterPort
JMSサーバ全体のプロパティ
表1.7.2.8-2
プロパティ名
説 明 既定値
wojms.portmapper.port JMSサーバのポート番号を指定します。同一ホストで複数のJMSサーバのインスタンスを実行する場合、それぞれ固有のポート番号を割り当てる必要があります。 9700
wojms.portmapper.backlog 要求を拒否せずに、同時に処理可能な要求の最大数を指定します。 50
wojms.producer.maxBatch プロデューサが一度に送信できるメッセージの最大数を指定します。 1000
wojms.message.expiration.interval 有効期限が切れたメッセージを廃棄する間隔を秒単位で指定します。 60
wojms.system.max_count JMSサーバが保持するメッセージの最大数を指定します。この値を超えるメッセージは拒否されます。-1は無制限です。 -1
wojms.system.max_size JMSサーバが保持するメッセージの最大のサイズ (バイト、K バイト、または M バイト単位) を指定します。この値を超えるメッセージは拒否されます。
128,128bは128バイトを、128kは128Kバイト(128×1024=131072バイト)、128mは128Mバイト(128×1024×1024=134217728バイト)を表します。-1は無制限です。
-1
wojms.message.max_size メッセージの本体の最大許容サイズ(バイト、K バイト、または Mバイト単位)を指定します。このサイズを超えるメッセージは拒否されます。
128,128bは128バイトを、128kは128Kバイト(128×1024=131072バイト)、128mは128Mバイト(128×1024×1024=134217728バイト)を表します。-1は無制限です。
70m
wojms.display.message.count メッセージ一覧の表示で、出力するメッセージの最大数を指定します。 1000
wojms.redelivery.delay メッセージ再配信の遅延時間を秒単位で指定します。0は、待ち合わせ無しです。 0
wojms.redelivery.limit メッセージ再配信回数の上限を指定します。-1は無制限、0は再配信無しです。再配信回数の上限を超過したメッセージは破棄されます。 -1
wojms.redelivery.destination 再配信回数を超過したメッセージを破棄せずに転送する送信先名を指定します。ここに指定する送信先は、あらかじめ作成しておく必要があります(自動的に作成されません)。指定した送信先が存在しない場合、メッセージは破棄されます。  
wojms.expiration.destination 有効期限切れメッセージを破棄せずに転送する送信先名を指定します。ここに指定する送信先は、あらかじめ作成しておく必要があります(自動的に作成されません)。指定した送信先が存在しない場合、メッセージは破棄されます。  
コネクションサービスに関するプロパティ
表1.7.2.8-3
プロパティ名
説 明 既定値
wojms.service.activelist JMS起動時に活性化するサービス群を指定します。
jms:JMSのコネクションサービス
ssljms:JMSのSSLコネクションサービス
admin:管理用のコネクションサービス
ssladmin:管理用のSSLコネクションサービス
jms,admin
wojms.shared.connectionMonitor_limit threadpool_modelにsharedを選択した場合に、コネクションを監視するスレッドの対象コネクションの最大数を指定します。-1は無制限です。 Windows:64
Unix:512
wojms.<svc>.min_threads svcで示したコネクションサービスが使用するスレッドプールの最小数を指定します。
既定値はコネクションサービスにより異なります。
jms:10
ssljms:10
admin:4
ssladmin:4
wojms.<svc>.max_threads svcで示したコネクションサービスが使用するスレッドプールの最大数を指定します。
既定値はコネクションサービスにより異なります。
0より大きく、かつmin_threadsで指定した値より大きくする必要があります。
jms:1000
ssljms:500
admin:10
ssladmin:10
wojms.<svc>.threadpool_model svcで示したコネクションサービスが使用するスレッドプールモデルを指定します。 dedicated:コネクション毎に専用のスレッドを割り当てる。 shared:複数のコネクション間でスレッドを共有する。共有するコネクションの数はconnectionMonitor_limitで指定する。このモデルはjmsとadminの場合のみに指定できる。 ※jmsコネクションサービスのみは、jms-serviceの「useSharedThread」属性をtrueにすることで、sharedにすることができます。 dedicated
wojms.<svc>.tcp.hostname svcで示したサービスで使用するホスト名、もしくはIPアドレスを指定します。複数のネットワークインタフェース(NIC)を持つような場合に固定することができます。指定がない場合は、任意を意味します。  
wojms.<svc>.tcp.port svcで示したコネクションサービスで使用するポート番号を指定します。
0は、動的アサインを意味します。
jms:9701
admin:9702
wojms.<svc>.tls.port svcで示したSSLコネクションサービスで使用するポート番号を指定します。
0は、動的アサインを意味します。
ssljms:9703
ssladmin:9704
セキュリティに関するプロパティ
表1.7.2.8-4
プロパティ名
説 明 既定値
wojms.keystore.file.dirpath SSL ベースのサービスの場合は、キーストアファイルが配置されているディレクトリへのパスを指定します。 ${AS_INSTALL}/wojms/etc
wojms.keystore.file.name SSL ベースのサービスの場合は、キーストアファイル名を指定します。 keystore
wojms.keystore.password SSL ベースのサービスの場合に、 キーストアのパスワードを指定します。
※パスワードはさまざまな方法で指定できます。最も安全な方法は、JMSサーバのプロンプトでパスワードを入力することです。安全性は低くなりますが、パスファイルを使用してパスファイルを読み取り保護することもできます。安全性は最も低くなりますが、次のコマンド行オプションを使用してパスワードを指定することもできます。
wojmsbrokerd -password
 
wojms.passfile.enabled セキュリティ保護される通信用 (SSL、JDBC) のユーザパスワードをパスファイルで指定するどうかを指定します。
true:パスファイルで指定する
false:パスファイルで指定しない
false
wojms.passfile.dirpath パスファイルが配置されているディレクトリへのパスを指定します。 ${AS_INSTALL}/wojms/etc
wojms.passfile.name パスファイルのファイル名を指定します。 passfile
wojms.accesscontrol.enabled JMSサーバでサポートされるすべてのコネクションサービスに対して、アクセス制御を行うかどうかを設定します。
true:アクセス制御を行う
false:アクセス制御を行わない
アクセス制御プロパティファイルに指定されているとおり、認証されたユーザがコネクションサービスを使用するためのアクセス権を保持しているかどうか、あるいは特定の送信先に対して特定の JMS操作を実行するためのアクセス権を保持していることをシステムでチェックするかどうかを指定します。
true
wojms.<svc>.accesscontrol.enabled svcで指定したコネクションサービスに対して、アクセス制御を行うかどうかを設定し、JMSサーバ全体の設定(wojms.accesscontrol.enabled)をオーバーライドします。
true:アクセス制御を行う
false:アクセス制御を行わない
アクセス制御プロパティファイルに指定されているとおり、認証されたユーザが、指定したコネクションサービスを使用するためのアクセス権を保持しているか、あるいは特定の送信先に対して特定の JMS 操作を実行するためのアクセス権を保持していることをシステムでチェックするかどうかを指定します。
 
wojms.accesscontrol.file.dirpath アクセス制御プロパティファイルが配置されているディレクトリへのパスを指定します。 ${wojms.instanceshome}${/}${wojms.instancename}${/}etc
wojms.accesscontrol.file.filename JMSサーバインスタンスでサポートされるすべてのコネクションサービスに対するアクセス制御プロパティファイルの名前を指定します。ファイル名には、アクセス制御ディレクトリからの相対ファイルパスを指定します。 accesscontrol.properties
wojms.<svc>.accesscontrol.file.filename JMSサーバインスタンスの、svcで指定したコネクションサービスに対するアクセス制御プロパティファイルの名前を指定します。ファイル名には、アクセス制御ディレクトリからの相対ファイルパスを指定します。  
wojms.authentication.provider JMSサーバに接続するユーザの管理方式を指定します。
APSERVER:WebOTXドメインのユーザ管理方式を使用します。
WOJMS:JMS固有の管理方式を使用します。
APSERVER
wojms.authentication.type JMSクライアントからパスワードを送信する際のタイプを指定します。
basic:Base64でエンコーディングしたパスワードを送信します。
wojms.authentication.providerを指定しない場合や、APSERVERを指定する場合に使用します。
digest:MD5ダイジェストでハッシュ化したパスワードをBase64でエンコーディングしたパスワードを送信します。
wojms.authentication.providerでWOJMSを指定した場合のみ使用できます。
basic
wojms.authentication.basic.user_repository Basic認証に使用されるユーザリポシトリのタイプを指定します。
file:JMS認証(WOJMS)においてファイルベースでの認証を使用します。
jaas:ドメイン認証(APSERVER)に対して、JAAS(Java Authentication Authorization Service)での認証を使用します。
jaas
wojms.authentication.digest.user_repository MD5ダイジェスト認証に使用されるユーザリポジトリのタイプを指定します。
file:JMS認証(WOJMS)においてファイルベースでの認証を使用します。
jaas:ドメイン認証(APSERVER)ではMD5ダイジェスト認証は使用できません。
jaas
wojms.authentication.jaas.realm ドメイン認証(APSERVER)の場合に、NORMALタイプのコネクションサービス(jms、ssljms)で使用するauth-realm名を指定してください。 file
wojms.authentication.jaas.realm.admin ドメイン認証(APSERVER)の場合に、ADMINタイプのコネクションサービス(admin、ssladmin)で使用するauth-realm名を指定してください。 admin-realm
wojms.authentication.client.response.timeout JMSサーバからの認証要求に対するクライアントの応答を待機する時間を秒単位で指定します。 180
永続ストアに関するプロパティ
表1.7.2.8-5
プロパティ名
説 明 既定値
wojms.persist.store 組み込みのファイルストア、またはプラグインの JDBCストアのどちらをJMSサーバが使用するかを指定します。
file:ファイルストア
jdbc:JDBCストア
file
wojms.persist.file.message.max_record_size 組み込みのファイルストアで、メッセージストレージファイル(個別のファイルではない)に追加されるメッセージの最大サイズ(バイト、K バイト、または Mバイト単位)を指定します。
128,128bは128バイトを、128kは128Kバイト(128×1024=131072バイト)、128mは128Mバイト(128×1024×1024=134217728バイト)を表します。
1m
wojms.persist.file.message.filepool.cleanratio 組み込みのファイルストアの場合に、クリーン状態 (サイズを 0 にする) で保持される送信先のファイルプールの空きファイルの割合(%)を指定します。この値が大きいほど、作業中にファイルを削除するのに必要なオーバーヘッドが増えますが、ファイルプールに必要なディスク容量は小さくなります。 0
wojms.persist.file.destination.message.filepool.limit 組み込みのファイルストアの場合に、送信先のファイルプールで再利用できる空きファイルの最大数を指定します。この値が大きいほど、JMSサーバが永続データを処理する速度が速くなります。この値を超える空きファイルは削除されます。 100
wojms.persist.file.message.cleanup 組み込みのファイルストアで、JMSサーバのシャットダウン時に、送信先のファイルプール内の空きファイルを削除するかどうかを指定します。値をfalseに設定すると、JMSサーバのシャットダウンが速くなりますが、ファイルを格納するためのディスク容量がさらに必要になります。 false
wojms.persist.file.sync.enabled 永続処理でメモリ内の状態を物理的なストレージと同期させるかどうかを指定します。true の場合、システムクラッシュによるデータ損失は回避されますが、永続処理のパフォーマンスに負荷がかかります。 false
wojms.persist.jdbc.dbtype JDBC ストアで利用する DBMS を指定します。
oracle:Oracle
postgresql:PostgreSQL
sqlserver:Microsoft SQL Server
 
wojms.persist.jdbc.<dbtype>.driver dbtype で指定したデータベースに接続する JDBC ドライバの Java クラス名を指定します。  
wojms.persist.jdbc.opendburl 既存データベースへのコネクションを開くためのデータベース URL を指定します。  
wojms.persist.jdbc.brokerid
(省略可能)
複数のJMSサーバインスタンスが、永続データストアとして、同じデータベースを使用する場合、データベーステーブル名を一意にするために、データベーステーブル名に追加されるJMSサーバインスタンス識別子を指定します。通常、1 つのJMSサーバインスタンスだけのデータを格納する組み込みデータベースでは不要です。識別子には、英数字を使用し、データベースで許可されているテーブル名の最大数 12 を超えないようにする必要があります。  
wojms.persist.jdbc.createdburl
(省略可能)
データベースを作成するコネクションを開くためのデータベース URL を指定します。wojmsdbmgr を使用して、データベースを作成する場合にだけ指定します。  
wojms.persist.jdbc.closedburl
(省略可能)
JMSサーバをシャットダウンする場合に、現在のデータベースコネクションをシャットダウンするためのデータベース URL を指定します。  
wojms.persist.jdbc.user
(省略可能)
必要に応じて、データベースコネクションを開くときに使用するユーザ名を指定します。セキュリティ上の理由から、この代わりに、次のコマンド行オプションを使用して値を指定できます。
wojmsbrokerd -dbuser
wojmsdbmgr -u
 
wojms.persist.jdbc.password データベースコネクションを開くときに使用するパスワードを指定します。
※パスワードは、さまざまな方法で指定できます。最も安全な方法は、JMSサーバのプロンプトでパスワードを入力することです。安全性は低くなりますが、passfile を使用して passfile を読み取り保護することもできます。安全性はもっとも低くなるが、次のコマンド行オプションを使用してパスワードを指定することもできます。
wojmsbrokerd -dbpassword
wojmsdbmgr -p
 
wojms.persist.jdbc.needpassword
(省略可能)
データベースでJMSサーバのアクセスにパスワードを必要とするかどうかを指定します。値を true にすると、パスワードが必要になります。パスワードは、次のコマンド行オプションを使用して指定できます。
wojmsbrokerd -dbpassword
wojmsdbmgr -p
コマンド行オプション、またはパスファイルのどちらかを使用してパスワードを指定しないと、JMSサーバによってパスワードの入力が要求されます。
false
wojms.persist.jdbc.retrycount JDBCストア利用時のデータベースへの再接続試行回数を指定します。 10
wojms.persist.jdbc.retryinterval JDBCストア利用時のデータベースへの再接続遅延時間を秒単位で指定します。 10
wojms.persist.jdbc.<dbtype>.table.WOJMSSV35 dbtype で指定した DBMS に対するバージョンテーブルを作成するための SQL コマンドを指定します。 DBMSごとに既定値が異なります。詳細は「1.7.3.2 JDBCストアを利用するための設定」を参照してください。
wojms.persist.jdbc.<dbtype>.table.WOJMSCCREC35 dbtype で指定した DBMS に対する設定変更レコードテーブルを作成するための SQL コマンドを指定します。 DBMSごとに既定値が異なります。詳細は「1.7.3.2 JDBCストアを利用するための設定」を参照してください。
wojms.persist.jdbc.<dbtype>.table.WOJMSDEST35 dbtype で指定した DBMS に対する送信先テーブルを作成するための SQL コマンドを指定します。 DBMSごとに既定値が異なります。詳細は「1.7.3.2 JDBCストアを利用するための設定」を参照してください。
wojms.persist.jdbc.<dbtype>.table.WOJMSINT35 dbtype で指定した DBMS に対する配信対象テーブルを作成するための SQL コマンドを指定します。 DBMSごとに既定値が異なります。詳細は「1.7.3.2 JDBCストアを利用するための設定」を参照してください。
wojms.persist.jdbc.<dbtype>.table.WOJMSMSG35 dbtype で指定した DBMS に対するメッセージテーブルを作成するための SQL コマンドを指定します。 DBMSごとに既定値が異なります。詳細は「1.7.3.2 JDBCストアを利用するための設定」を参照してください。
wojms.persist.jdbc.<dbtype>.table.WOJMSPROPS35 dbtype で指定した DBMS に対するプロパティテーブルを作成するための SQL コマンドを指定します。 DBMSごとに既定値が異なります。詳細は「1.7.3.2 JDBCストアを利用するための設定」を参照してください。
wojms.persist.jdbc.<dbtype>.table.WOJMSILIST82 dbtype で指定した DBMS に対する配信対象の状態テーブルを作成するための SQL コマンドを指定します。 DBMSごとに既定値が異なります。詳細は「1.7.3.2 JDBCストアを利用するための設定」を参照してください。
wojms.persist.jdbc.<dbtype>.table.WOJMSTXN35 dbtype で指定した DBMS に対するトランザクションテーブルを作成するための SQL コマンドを指定します。 DBMSごとに既定値が異なります。詳細は「1.7.3.2 JDBCストアを利用するための設定」を参照してください。
wojms.persist.jdbc.<dbtype>.table.WOJMSTACK35 dbtype で指定した DBMS に対するトランザクション通知テーブルを作成するための SQL コマンドを指定します。 DBMSごとに既定値が異なります。詳細は「1.7.3.2 JDBCストアを利用するための設定」を参照してください。
ログ出力に関するプロパティ
表1.7.2.8-6
プロパティ名
説 明 既定値
wojms.log.level ログレベルを指定します。指定できるレベルは高いものから順に、 NONE, ERROR, WARNING, INFO, DEBUG, DEBUGMED, DEBUGHIGH です。
あるカテゴリを指定すると、指定したカテゴリとそれより上のレベルのカテゴリが含まれます。
INFO
wojms.log.timezone ログのタイムスタンプのタイムゾーンを指定します。識別子は、 java.util.TimeZone.getTimeZone() が使用しているものと同じです。  
wojms.log.file.rolloverbytes ログの出力先ファイルを切り替えるファイルサイズをバイト単位で指定します。-1は出力先の切り替えを行いません。 1048576
wojms.log.file.
rolloversecs
ログの出力先ファイルを切り替える間隔を秒単位で指定します。-1は出力先の切り替えを行いません。 -1
wojms.log.file.dirpath ログファイルが格納されているディレクトリへのパスを指定します。デフォルト値は、install.propertiesファイルに定義されています。 ${wojms.instanceshome}/../../logs/wojms
wojms.log.file.filename ログファイル名を指定します。デフォルト値は、install.propertiesファイルに定義されています。 wojmsserver.log
wojms.log.file.filenum ログファイルのバックアップ数を指定します。 9
wojms.log.file.output ログファイルに書き込むロギング情報のカテゴリを指定します。指定できる値は、 縦線 (|) で区切ったロギングのカテゴリ(ERROR, WARNING, INFO, DEBUG, DEBUGMED, DEBUGHIGH )のセットか、ALL または NONEです。
ALL:すべてのカテゴリを出力
NONE:出力しない
ALL
wojms.log.console.stream コンソールの出力先を指定します。
OUT:標準出力
ERR:標準エラー出力
ERR
wojms.log.console.output コンソールへ書き込むロギング情報のカテゴリを指定する。指定できる値は、縦線 (|) で区切ったロギングのカテゴリ(ERROR, WARNING, INFO, DEBUG, DEBUGMED, DEBUGHIGH )のセットか、ALL または NONEです。
ALL:すべてのカテゴリを出力
NONE:出力しない
ERROR|WARNING
wojms.log.admin.rolloverbytes 運用管理操作履歴を出力するファイルを切り替えるサイズをバイト単位で指定します。-1は出力先の切り替えを行いません。 1048576
wojms.log.admin.rolloversecs 運用管理操作履歴を出力するファイルを切り替える時間を秒単位で指定します。-1は出力先の切り替えを行いません。 -1(切り替えなし)
wojms.log.admin.dirpath 運用管理操作履歴の出力ディレクトリへのパスを指定します。 ${wojms.log.file.dirpath}
wojms.log.admin.filename 運用管理操作履歴のファイル名を指定します。 wojmsadmin.log
wojms.log.admin.filenum 運用管理操作履歴ファイルのバックアップ数を指定します。 9
wojms.log.admin.output 運用管理操作履歴へ出力するログカテゴリを指定します。指定できる値は、 ADMIN または NONEです。 ADMIN
wojms.log.packet.rolloverbytes パケットログを出力するファイルを切り替えるサイズをバイト単位で指定します。-1は出力先の切り替えを行いません。 1048576
wojms.log.packet.rolloversecs パケットログを出力するファイルを切り替える時間を秒単位で指定します。-1は出力先の切り替えを行いません。 -1(切り替えなし)
wojms.log.packet.dirpath パケットログの出力ディレクトリへのパスを指定します。 ${wojms.log.file.dirpath}
wojms.log.packet.filename パケットログのファイル名を指定します。 wojmspacket.log
wojms.log.packet.filenum パケットログファイルのバックアップ数を指定します。 9
wojms.log.packet.output パケットログへ出力するログカテゴリを指定します。指定できる値は、 縦線 (|) で区切ったロギングのカテゴリ(PACKET_MESSAGE、PACKET_PING、PACKET_ADMIN、PACKET_CLUSTER_MESSAGE、NONE)のセットか、ALL または NONEです。
PACKET_MESSAGE:JMSメッセージの送受信でやり取りされるパケット(制御用のパケットを含む)の情報を出力
PACKET_PING:JMSサーバや、JMSクライアントの起動状態確認で送受信されるPINGパケットの情報を出力
PACKET_ADMIN:運用管理操作で送受信されるパケットの情報を出力
PACKET_CLUSTER_MESSAGE:JMSサーバクラスタを構成しているときに、JMSサーバ間で送受信されるパケットの情報を出力
NONE:出力しない
NONE
wojms.log.message.rolloverbytes メッセージライフサイクルログを出力するファイルを切り替えるサイズをバイト単位で指定します。-1は出力先の切り替えを行いません。 1048576
wojms.log.message.rolloversecs メッセージライフサイクルログを出力するファイルを切り替える時間を秒単位で指定します。-1は出力先の切り替えを行いません。 -1(切り替えなし)
wojms.log.message.dirpath メッセージライフサイクルログの出力ディレクトリへのパスを指定します。 ${wojms.log.file.dirpath}
wojms.log.message.filename メッセージライフサイクルログのファイル名を指定します。 wojmsmessage.log
wojms.log.message.filenum メッセージライフサイクルログファイルのバックアップ数を指定します。 9
wojms.log.message.output メッセージライフサイクルログへ出力するログカテゴリを指定します。指定できる値は、 縦線 (|) で区切ったロギングのカテゴリ(MESSAGE)か、ALL または NONEです。 NONE
wojms.log.error.rolloverbytes エラーログを出力するファイルを切り替えるサイズをバイト単位で指定します。-1は出力先の切り替えを行いません。 1048576
wojms.log.error.rolloversecs エラーログを出力するファイルを切り替える時間を秒単位で指定します。-1は出力先の切り替えを行いません。 -1(切り替えなし)
wojms.log.error.dirpath エラーログの出力ディレクトリへのパスを指定します。 ${wojms.log.file.dirpath}
wojms.log.error.filename エラーログのファイル名を指定します。 wojmserror.log
wojms.log.error.filenum エラーログファイルのバックアップ数を指定します。 9
wojms.log.error.output エラーログへ出力するログカテゴリを指定します。指定できる値は、 縦線 (|) で区切ったロギングのカテゴリ(ERROR、WARNING、DUMP_STATE、NONE)のセットか、ALL または NONEです。 ERROR|WARNING|DUMP_STATE
wojms.metrics.enabled メトリックス情報を収集するかどうかを指定します。
true:収集する
false:収集しない
true
wojms.metrics.interval メトリックス情報が報告される間隔を秒単位で指定します。-1は報告しません。 -1
メモリ管理に関するプロパティ
表1.7.2.8-7
プロパティ名
説 明 既定値
wojms.green.threshold メモリリソースのGreenレベル(使用可能なメモリが十分にある状態)のスタート位置をメモリの利用率(%)で指定します。 0
wojms.yellow.threshold メモリリソースのYellowレベル(メモリが減っている状態)のスタート位置をメモリの利用率(%)で指定します。 80
wojms.orange.threshold メモリリソースのOrangeレベル(メモリが不十分である状態)のスタート位置をメモリの利用率(%)で指定します。 90
wojms.red.threshold メモリリソースのRedレベル(メモリが不足している状態)のスタート位置をメモリの利用率(%)で指定します。 98
wojms.green.count Greenレベルの時にクライアントが遅延制御せずに送信できるメッセージの最大数を指定します。 5000
wojms.yellow.count Yellowレベルの時にクライアントが遅延制御せずに送信できるメッセージの最大数を指定します。 500
wojms.orange.count Orangeレベルの時にクライアントが遅延制御せずに送信できるメッセージの最大数を指定します。 50
wojms.red.count Redレベルの時にクライアントが遅延制御せずに送信できるメッセージの最大数を指定します。 0
自動生成送信先に関するプロパティ
表1.7.2.8-8
プロパティ名
説 明 既定値
wojms.autocreate.topic Topicの自動生成を許可するかを指定します。
true:許可する
false:許可しない
false
wojms.autocreate.queue Queueの自動生成を許可するかを指定します。
true:許可する。
false:許可しない。
false
wojms.autocreate.topic.consumerFlowLimit 自動生成されたTopicに接続されたConsumerが一回の送信処理で受信できるメッセージの最大数を指定します。 1000
wojms.autocreate.queue.consumerFlowLimit 自動生成されたQueueに接続されたConsumerが一回の送信処理で受信できるメッセージの最大数を指定します。 100
wojms.autocreate.queue.maxNumActiveConsumers 自動生成されたQueueでメッセージを受信するこのできるConsumerの最大数を指定します。-1は無制限です。 -1
wojms.autocreate.queue.maxNumBackupConsumers 自動生成されたQueueで待機状態のConsumerの数を指定します。-1は無制限です。 0
wojms.autocreate.destination.maxNumMsgs 自動生成される送信先の最大メッセージ数を指定します。-1は無制限です。 100000
wojms.autocreate.destination.maxTotalMsgBytes 自動生成される送信先の最大メッセージサイズ(バイト、K バイト、または Mバイト単位)を指定します。-1は無制限です。
128,128bは128バイトを、128kは128Kバイト(128×1024=131072バイト)、128mは128Mバイト(128×1024×1024=134217728バイト)を表します。
10m
wojms.autocreate.destination.maxNumProducers 自動生成される送信先に接続可能なプロデューサ数を指定します。-1は無制限です。 100
wojms.autocreate.destination.maxBytesPerMsg 自動生成される送信先の1メッセージ当たりの最大サイズ(バイト、K バイト、または Mバイト単位)を指定します。-1は無制限です。
128,128bは128バイトを、128kは128Kバイト(128×1024=131072バイト)、128mは128Mバイト(128×1024×1024=134217728バイト)を表します。
10k
wojms.autocreate.destination.limitBehavior 自動生成される送信先に対して新しいメッセージが届いたときに、送信先のメモリ制限のしきい値に到達していた場合のJMSサーバの振る舞いを指定します。
FLOW_CONTROL : プロデューサとの間でフロー制御(低速化)を行います。
REMOVE_OLDEST : 最古のメッセージを破棄します(プロデューサがメッセージ削除の通知を受け取ることはありません)。REMOVE_LOW_PRIORITY : メッセージの有効期限に従い優先度が最低のメッセージを破棄します(プロデューサがメッセージ削除の通知を受け取ることはありません)。
REJECT_NEWEST : 最新のメッセージを拒否します(永続メッセージの場合はプロデューサにメッセージ拒否の例外が発生しますが、非永続メッセージの場合には発生しません)。
REJECT_NEWEST
クライアント監視に関するプロパティ
表1.7.2.8-9
プロパティ名
説 明 既定値
wojms.ping.enabled クライアントとの接続を監視するか否かを指定します。
true:行う
false:行わない
true
wojms.ping.interval クライアントとの接続を監視する間隔を秒単位で指定します。 120
wojms.client_metrics.enabled JMSクライアントのチューニング情報を採取するかどうかを指定します。
true:採取する
false:採取しない
true(採取する)を指定すると、コネクション一覧表示(otxadmin list-jms-connections)で各コネクションに対するメモリ情報を表示します。
false
JMSサーバクラスタに関するプロパティ
表1.7.2.8-10
プロパティ名
説 明 既定値
wojms.enable_cluster JMSサーバクラスタを利用するかどうかを指定します。 false
wojms.cluster.brokerlist クラスタに属するすべてのJMSサーバのホスト名とポート番号を指定します。[hostName][:port]の形式で、「,」で区切って指定します。クラスタ内のJMSサーバすべてで同じ値を指定する必要があります。  
wojms.cluster.masterbroker マスターブローカのアドレスを指定します。[hostName][:port]の形式で指定します(省略可能)。クラスタ内のJMSサーバすべてで同じ値を指定する必要があります。  
wojms.cluster.port JMSサーバクラスタ用コネクションサービスで使用するポート番号を指定します。0は動的アサインを意味します。 9705

1.7.2.9. JMSクライアントのプロパティ

JMSクライアントのプロパティの一覧を示します。これらのプロパティは、非Java EE環境下で動作するJavaアプリケーションに有効であり、Javaシステムプロパティとして設定します。

ログの利用方法については、「1.7.3.13. JMSクライアントのログ出力」を、チューニング情報採取に関しては、「高度な管理と運用サイクルガイド > 2. チューニング > 2.4. JMS > 2.4.4. JMSクライアントのチューニング情報採取」を参照してください。

表1.7.2.9-1
プロパティ名
説 明 既定値
wojms.client.log.level JMSクライアントのログを採取する際のログレベル(NONE、ERROR、WARNING、INFO、DEBUG、DEBUGMED、DEBUGHIGHのいずれか)を指定します。
NONE:出力しない
NONE
wojms.client.log.file JMSクライアントのログを採取する際のログファイル名を指定します。ログレベルのみが指定され、ログファイル名が指定されていない場合は、標準出力に出力します。  
wojms.client.metrics メモリや、フロー制御などのチューニング情報を出力するかどうかを指定します。 false
wojms.client.metrics.interval チューニング情報を出力する間隔(ミリ秒)を指定します。 5000
wojms.client.metrics.log チューニング情報を出力するファイル名を指定します(JMSクライアントのログファイルとは別です)。ファイル名が指定されていない場合は、標準出力に出力します。  
C言語アプリケーションプログラムのプロパティ

設定は、${AS_INSTALL}/wojms/etc/wojmscrt.conf ファイルで行います。

表1.7.2.9-2
プロパティ名
説 明 既定値
java-classpath アプリケーション固有で利用する、Java クラスや jar ファイルを 環境変数 CLASSPATH 形式で指定します。 C言語ライブラリでは JVM を生成する際に、ここで指定した Java クラスを 優先的に利用するように構成します。  
wojms-options JMS クライアントのプロパティを指定します。 -Dwojms.client.log.file=
${AS_INSTALL}/wojms/logs/jmsclient.log (JMSクライアントのログを採取する際のログファイル名)
java-home Java インストールディレクトリを指定します。  
jvm-options Java VM に渡す引数を指定します。  
otx-jars JMSクライアントから利用するWebOTXのjarファイルが、${AS_INSTALL}からの相対パスで指定されています。変更しないでください。  
wojms-logsize ネイティブログ ( JVM 生成前や JVM のエラーが発生した場合にメッセージが出力されるログ ) の最大サイズを指定します。 1048576 (1MB)

1.7.3. その他の設定項目・設定方法

JMSサーバのその他の設定項目、および設定方法について説明します。

1.7.3.1. ファイルストアを利用するための設定

ファイルストアを利用するための設定について説明します。

  1. JMSサービスのMOに対して、次の属性を設定します。

    server.jms-service :
    表1.7.3.1-1
    属性名 説明 既定値
    storeType 永続ストアタイプを指定します。
    file:ファイルストア
    file

  2. JMSサービスを再起動してください。

インストール直後は、ファイルストアを利用する設定になっています。関連する、JMSサーバの各プロパティにはデフォルト値が設定されていますので、ご利用になるシステムに合わせて設定値を変更してください。ファイルストアをご利用になるためのプロパティの詳細については、「1.7.2.7. JMSのプロパティ/属性一覧 > JMSサーバのプロパティ」-「永続ストアに関するプロパティ」を参照してください。

注意 :

1.7.3.2. JDBCストアを利用するための設定

JDBCストアを利用するための設定について説明します。

インストール直後は、ファイルストアを利用する設定になっています。JDBCストアを利用する場合は、次の手順で設定を変更してください。

  1. JMSサービスのMOに対して、次の属性を設定します。

    server.jms-service :
    表1.7.3.2-1
    属性名 説明
    storeType 永続ストアタイプを指定します。指定可能な値は次のとおりです。
    file:ファイルストア
    oracle:JDBCストア(Oracle)
    postgresql:JDBCストア(PostgreSQL)
    sqlserver:JDBCストア(Microsoft SQL Server)
    other:JDBCストア(その他)
    利用するDBMSのJDBCストアを指定します。この属性に指定した値が、JMSサーバの wojms.persist.jdbc.dbtype プロパティの値となります。
    otherは今後サポート対象が増えた場合に使用します。
    jdbcStoreDriver JDBCドライバのクラス名
    jdbcStoreURL JDBC URL
    jdbcStoreBrokerid JMSサーバインスタンス識別子
    複数のJMSサーバインスタンスが同じデータベースを使用する場合、データベーステーブル名を一意にするために、データベーステーブル名に追加されます。通常、1 つのJMSサーバインスタンスだけのデータを格納するデータベースでは不要です。
    jdbcStoreUser ユーザ名
    jdbcStorePassword パスワード

  2. 次のパスにJDBCドライバのjarファイルのコピー、またはシンボリックリンクを配置します。
    ${INSTANCE_ROOT}/lib/ext
  3. wojmsdbmgrコマンドのcreate tblサブコマンドを実行して、永続データを格納するためのデータベーススキーマを作成します。
    # wojmsdbmgr create tbl -otxdomain domain1
    
    備考 :
    wojmsdbmgrコマンドを実行する際は、-otxdomainオプションにより、ドメイン名の指定が必要です。また、JMSサーバインスタンス識別子を指定しているときは、wojmsdbmgrコマンドで -b オプションにより、インスタンス識別子を指定する必要があります。
    wojmsdbmgrコマンドの詳細については、「4. 運用管理コマンドリファレンス > 4.4. JMS > 4.4.3. wojmsdbmgr」を参照してください。
  4. JMSサービスを再起動してください。
補足:データベーススキーマ作成プロパティの既定値

wojms.persist.jdbc.dbtype に利用するDBMSを指定することで、該当するDBMSのプロパティが自動的に有効になります。 ここでは、各DBMSのJDBCドライバについてのみ記述しています。その他のプロパティの既定値については、default.propertiesファイル (${AS_INSTALL}/wojms/lib/props/broker/default.properties) の「wojms.persist.jdbc.<dbtype>」で始まるプロパティ値を参照してください。

注意 :

1.7.3.3. ユーザ管理の設定

ここでは、JMS固有のユーザ管理方式(JMS認証)を利用する場合のユーザ管理について説明します。

デフォルトでは、WebOTXドメインのユーザ管理方式を利用するようになっています。JMS固有のユーザ管理方式を利用する場合は、あらかじめ、設定が必要となります。 設定方法については、[ 1.7.3.10. ユーザ管理方式の設定 ] を参照してください。 また、WebOTXドメインのユーザ管理方式を利用する場合のユーザ管理については、 [ ドメイン構築・基本設定ガイド > 4. ユーザ管理 ] を参照してください。

JMS認証に必要なユーザ管理は、wojmsusermgrコマンドで行います。wojmsusermgrコマンドの詳細については、「4. 運用管理コマンドリファレンス > 4.4. JMS > 4.4.5. wojmsusermgr」を参照してください。
ユーザ情報は、次の場所にあるファイルで管理されています。
${INSTANCE_ROOT}/wojms/instances/wojmsbroker/etc/passwd

グループ
表1.7.3.3-1
グループ
説明
admin JMSに対する管理者権限を有するグループです。
user 管理者権限を持たず、クライアントアプリケーションからのアクセスに必要な権限だけを有するグループです。
コネクション確立時にユーザ認証を行う場合に使用するユーザをこのグループに定義します。
anonymous user同等の権限を有するグループです。
コネクション確立時にユーザ認証を行わない場合に暗黙的に使用するユーザを定義します。
このグループに定義できるユーザは唯一です。
状態

管理者は任意ユーザの登録情報の状態(アクティブ/非アクティブ)を変更することができます。

ユーザ名とパスワードの形式

次の文字は、ユーザ名として使用できません。

表1.7.3.3-2
文字
説明
* アスタリスク
, カンマ
: コロン
デフォルトの設定
表1.7.3.3-3
ユーザ名 パスワード グループ 状態
admin adminadmin admin アクティブ
guest guest anonymous アクティブ

※ JMSサーバの起動時にはadmin権限が必要です。JMSサーバを起動する運用管理エージェント側の定義には、あらかじめこのデフォルト値が設定されています。

1.7.3.4. アクセス制御機能を利用するための設定

JMS クライアントからの操作 (コネクション、送信先、送信先自動作成) に対するアクセス制御は、次の場所にあるアクセス制御プロパティファイルに定義します。
${INSTANCE_ROOT}/wojms/instances/wojmsbroker/etc/accesscontrol.properties

コネクションのアクセス制御

コネクションサービスへの権限を定義します。

形式 :
connection.resourceVariant.access.principalType = principals
表1.7.3.4-1
要素
説明
resourceVariant コネクションのタイプを指定します。
NORMAL
ADMIN
access アクセス制御を指定します。
allow
deny
principalType 制御を受ける対象者を指定します。
user
group
principals 権限の制御を受ける対象を指定します。
principalTypeがuserの場合は、ユーザ名(複数の場合はカンマで区切られたリスト)を指定します。
principalTypeがgroupの場合は、グループ名(複数の場合はカンマで区切られたリスト)を指定します。
両者とも、全てを対象とする場合には”*”を使用します。

デフォルトでは、通常のコネクションは全てのユーザに権限が、管理用のコネクションはadminグループにのみ権限が与えられています。

connection.NORMAL.allow.user=*
connection.ADMIN.allow.group=admin

たとえば、通常のコネクション確立について、ユーザxxxを拒否するには、次の記述を追加します。

connection.NORMAL.deny.user=xxx

1.7.3.5. 送信先のアクセス制御

送信先に対する権限を定義します。

形式 :
resourceType.resourceVariant.operation.access.principalType = principals
表1.7.3.5-1
要素
説明
resourceType 送信先のタイプを指定します。
queue
topic
resourceVariant 送信先の名前、もしくはすべての送信先を意味する”*”を指定します。
operation クライアントのタイプを指定します。
produce
consume
browse
access アクセス制御を指定します。
allow
deny
principalType 制御を受ける対象者を指定します。
user
group

デフォルトでは、すべてに権限が与えられています。

queue.*.produce.allow.user=*
queue.*.consume.allow.user=*
queue.*.browse.allow.user=*
topic.*.produce.allow.user=*
topic.*.consume.allow.user=*

たとえば、トピックxxxからのメッセージ受信について、グループyyyを拒否するには、次の記述を追加します。

topic.xxx.consume.deny.group=yyy

1.7.3.6. 送信先自動作成のアクセス制御

送信先の自動作成の権限を定義します。

形式 :
resourceType.create.access.principalType = principals
表1.7.3.6-1
要素
説明
resourceType 送信先のタイプを指定します。
queue
topic
access アクセス制御を指定します。
allow
deny
principalType 制御を受ける対象を指定します。
user
group

デフォルトでは、すべてに権限が与えられています。

queue.create.allow.user=*
topic.create.allow.user=*

たとえば、topicの自動作成について、ユーザxxxを拒否するには、次の記述を追加します。

topic.create.allow.user=*
topic.create.deny.user=xxx

1.7.3.7. SSL通信を利用するための設定

JMSサーバとクライアントアプリケーションとの間、JMSサーバと管理ツールとの間で送受信されるメッセージをSSLで暗号化するために必要な設定について説明します。
前者はssljmsコネクションサービス、後者はssladminコネクションサービスが対象です。

  1. 自己署名型証明書の生成
    wojmskeytoolコマンドでJMSサーバの自己署名型証明書を生成してください。wojmskeytoolコマンドの詳細は、「4. 運用管理コマンドリファレンス > 4.4. JMS > 4.4.4. wojmskeytool」を参照してください。
    # wojmskeytool -broker
    

    証明書が格納されるキーストアの位置は次の場所となります。
    $WOJMS_HOME/etc/keystore

  2. SSLコネクションサービスの有効化
    wojms.service.activelistプロパティにより、SSLコネクションサービスを有効化します。次のいずれかの方法で指定してください。
    1. 起動引数で指定する方法
      次のオプションをJMSサーバの起動引数に指定してください。ここでは、jms、adminの両方のSSLコネクションサービスを有効化しています。

      -Dwojms.service.activelist=jms,admin,ssljms,ssladmin

      運用管理コマンドで指定する場合は、JMSサービスの「start-args」属性に、統合運用管理ツールで指定する場合は、JMSサービスのMO属性「起動引数」に上記を設定してください。

    2. config.propertiesに設定する方法
    3. 次のプロパティを設定してください。ここでは、jms、adminの両方のSSLコネクションサービスを有効化しています。

      wojms.service.activelist=jms,admin,ssljms,ssladmin

    実際に有効になったかどうかは、JMSサーバ再起動後に、wojmscmd list svcコマンドで確認することができます。wojmscmd list svcコマンドの詳細は、「4. 運用管理コマンドリファレンス > 4.4. JMS > 4.4.4. wojmskeytool > 4.4.2.9. list svc」を参照してください。

  3. JMSサーバの再起動
    次のいずれかの方法でキーストアのパスワードを指定してJMSサーバを再起動してください。
    1. 起動引数で指定する
    2. パスワードファイルを使用する

    詳細は、「1.7.3.8. パスワードファイルの使用」を参照してください。

  4. JMSクライアントの設定
    クライアントの設定は、Javaアプリケーションの場合と、Java EE環境下で動作するJava EEアプリケーションの場合で方法が異なります。

    1. Javaアプリケーションの場合
      コネクションファクトリに次の属性値を設定してください。
      wojmsConnectionType=TLS

      この設定を有効にするには、次の2つの方法があります。
      • JNDIに登録するオブジェクトに設定する方法
        コネクションファクトリリソースの場合は、MO属性「コネクションタイプ(wojmsConnectionType)」で指定します。

      • Javaクライアントアプリケーション起動時にJavaシステムプロパティで指定する方法
        通常はJNDIに登録されたオブジェクトにあらかじめ設定された属性値に従って暗黙的に決まりますが、これをJavaシステムプロパティとして与えることによって、起動時に自由に選択することができます。

    2. Java EEアプリケーションの場合
      コネクションファクトリリソースのプロパティとして、
      MessageServiceAddressList=<wojmsBrokerHostName>:<wojmsBrokerHostPort>/ssljms
      を設定してください。<wojmsBrokerHostName>は「JMSサーバのホスト名」の値を、<wojmsBrokerHostPort>は「JMSサーバのホストのポート番号」の値を指定します。
      補足 : コネクションファクトリリソースに対するプロパティ設定
      統合運用管理ツールの場合
      「WebOTX 管理ドメイン[<ホスト名>]」-「<ドメイン名>」-「リソース」-「JMS リソース」-「コネクションファクトリリソース」-「<JNDI 名>」-【プロパティの設定】操作で設定します。

      運用管理コマンドの場合
      次のように、set コマンドを利用して設定します。
      otxadmin> set server.resources.jms-resource.jms-connection-factory.<JNDI 名>.property.MessageServiceAddressList= <wojmsBrokerHostName>:<wojmsBrokerHostPort>/ssljms

      例)デフォルトの接続先(ホスト名:localhost、ポート番号:9700)にSSLで接続する場合
      otxadmin> set server.resources.jms-resource.jms-connection-factory.jms/MyCF.property.MessageServiceAddressList=localhost:9700/ssljms
      

1.7.3.8. パスワードファイルの使用

ここでは、JMSサーバが使用するSSL、JDBCのパスワードを起動引数ではなく、パスワードファイルを使用して指定する方法について説明します。

  1. パスワードファイルの作成
    パスワードファイルの作成は、次の位置にある雛形を利用してください。
    ${AS_INSTALL}/wojms/etc/passfile.sample
    パスワードファイルには次のパスワードを指定することができます。
    表1.7.3.8-1
    パスワード
    説明
    wojms.keystore.password SSL運用時に必要なキーストアのパスワードを指定します。
    wojms.persist.jdbc.password データベースとの接続時に必要なパスワードを指定します。

  2. パスワードファイルの有効化
    作成したパスワードファイルを有効にするためには、次のプロパティを指定する必要があります。

    wojms.passfile.enabled=true

  3. パスワードファイルの指定
    JMSサーバの起動時に使用するパスワードファイルを指定します。次のいずれかの方法で指定してください。

    1. 起動引数で指定する方法
      次のオプションをJMSサーバの起動引数に指定してください。

      -passfile <password file>

      運用管理コマンドで指定する場合は、JMSサービスの「start-args」属性に、統合運用管理ツールで指定する場合は、JMSサービスのMO属性「起動引数」に上記を設定してください。

    2. config.propertiesに設定する方法
    3. 次のプロパティを設定してください。

      wojms.passfile.dirpath=<passfile directory>
      wojms.passfile.name=<passfile name>

    注意 :
    起動引数を指定した場合は、config.propertiesに設定した内容は無視されます。

1.7.3.9. Standard/Enterprise で動作させる場合の設定

Standard/Enterprise において、TPモニタ上でMessage-Driven Bean(MDB)やJMSの非同期受信を行うCORBAアプリケーションを起動する場合の設定について説明します。

MDBでTopicのマルチコンシューマ負荷分散を利用する場合

MDBでTopicのマルチコンシューマ負荷分散を利用するには、クライアント識別子とその共有フラグを以下に示すいずれかの方法で設定する必要があります。

  1. 配備記述子での設定
    ejb-jar.xml中の<activation-config-property>を利用して、以下のプロパティを設定します。

    表1.7.3.9-1
    プロパティ
    clientId クライアント識別子
    enableSharedClientID true

    具体例は、以下の通りです。

    <?xml version="1.0" encoding="UTF-8"?>
    <ejb-jar>
     <enterprise-beans>
      <message-driven>
       <ejb-name>MyMDB</ejb-name>
       ・・・・・
       <activation-config>
        <activation-config-property>
         <activation-config-property-name>clientId</activation-config-property-name>
         <activation-config-property-value>MyClientID</activation-config-property-value>
        </activation-config-property>
        <activation-config-property>
         <activation-config-property-name>enableSharedClientID</activation-config-property-name>
         <activation-config-property-value>true</activation-config-property-value>
        </activation-config-property>
        ・・・・・
       </activation-config>
      </message-driven>
     </enterprise-beans>
    </ejb-jar>

  2. アノテーションでの設定
    @ActivationConfigPropertyを利用して、以下のプロパティを設定します。

    表1.7.3.9-2
    プロパティ
    clientId クライアント識別子
    enableSharedClientID true

    具体例は、以下の通りです。

    @MessageDriven(
      activationConfig = {
        @ActivationConfigProperty(propertyName="clientId", propertyValue="MyClientID"),
        @ActivationConfigProperty(propertyName="enableSharedClientID", propertyValue="true"),
        ・・・・・
      }
    )
    public class MyMDB implements MessageListener {
      public void onMessage(Message msg) {・・・・・}
    }

  3. プロセスグループでの設定
    プロセスグループのシステムプロパティに以下のプロパティを指定してください。 同じプロセスグループの中で複数のMDBが配備されるような場合、クライアント識別子の共有範囲が複数のMDB間にまたがることに注意してください。
    表1.7.3.9-3
    プロパティ
    設定値
    wojmsConfiguredClientID クライアント識別子
    wojmsEnableSharedClientID true
CORBAアプリケーションでTopicのマルチコンシューマ負荷分散を利用する場合

CORBAアプリケーションでTopicのマルチコンシューマ負荷分散を利用する場合は、自動的にクライアント識別子とその共有フラグを設定します。この場合のクライアント識別子は、[アプリケーショングループ名]_[プロセスグループ名]です。 以下の方法でクライアント識別子を明示的に指定することも可能です。

  1. プログラムでの設定
    javax.jms.TopicConnectionのsetClientIDメソッドで指定してください。

  2. プロセスグループでの設定
    プロセスグループのシステムプロパティに以下のプロパティを指定してください。
    同じプロセスグループの中で複数のコンシューマを生成するような場合、クライアント識別子の共有範囲が複数のコンシューマ間にまたがることに注意してください。
    表1.7.3.9-4
    プロパティ
    説明
    wojmsConfiguredClientID クライアント識別子

  3. コネクションファクトリリソースでの設定
    使用するコネクションファクトリリソースの以下の属性を指定してください。
    同じコネクションファクトリリソースを複数のコンシューマで利用すると、クライアント識別子の共有範囲が複数のコンシューマ間にまたがることに注意してください。
    server.resources.jms-resource.jms-connection-factory.connection-factory-name
    表1.7.3.9-5
    プロパティ
    説明
    wojmsConfiguredClientID クライアント識別子
CORBAアプリケーションでWebOTXアプリケーション管理機能を利用する場合

JMSの非同期受信を行うCORBAアプリケーションで次のようなWebOTXのアプリケーション管理機能を利用するための設定について説明します。

  1. プロセスの障害監視・閉塞機能
    MessageListenerの呼び出しが指定した時間経過しても応答しない場合や、プロセスが異常終了した場合に、該当するプロセスを閉塞し、指定にしたがってプロセスを再起動します。

  2. 性能情報の採取機能
    MessageListener呼び出しに要した時間や、呼び出し回数といった性能および統計情報を採取します。

    アプリケーション管理機能を利用するためには、プロセスグループに次のJavaシステムプロパティを設定してください。
    表1.7.3.9-6
    プロパティ名
    説明
    wojmsEnableReliableThread アプリケーション管理機能を利用するかどうかを指定します。
    true アプリケーション管理機能を有効にします。
    false アプリケーション管理機能を無効にします(既定値)。
    wojmsReliableRetryAttempts アプリケーション管理機能を有効にした場合の、管理機能に対する初期処理が失敗した場合のリトライ回数を指定します。
    既定値は、200回です。
    wojmsReliableRetryInterval アプリケーション管理機能を有効にした場合の、管理機能に対する初期処理が失敗した場合のリトライ間隔を、秒単位で指定します。
    既定値は、3(秒)です。

1.7.3.10. ユーザ管理方式の設定

ここでは、JMSサーバに接続するユーザの管理方式を設定する方法について説明します。

  1. JMSサーバのプロパティファイルに、認証方式を指定するためのプロパティを設定します。プロパティの詳細については、「1.7.2.7. JMSのプロパティ/属性一覧 > JMSサーバのプロパティ」を参照してください。

    ユーザ管理方式を指定するためのプロパティについて説明します。

    表1.7.3.10-1
    プロパティ名
    説明 設定値
    WebOTXドメインの管理方式 JMS認証
    wojms.authentication.provider JMSサーバに接続するユーザの管理方式を指定します。 APSERVER WOJMS
    wojms.authentication.type JMSクライアントからパスワードを送信する際のタイプを指定します。 basic digest
    wojms.authentication.<type>.user_repository 認証に使用されるユーザリポシトリのタイプを指定します。 <type>には、wojms.authentication.type プロパティの値を指定します。 jaas file
  2. JMSサービスを再起動します。
Memo
JMS認証を利用する際、wojmsusermgrコマンドを実行する場合は、install.propertiesファイルのwojms.authentication.providerプロパティをWOJMSに設定してください。

1.7.3.11. メッセージ再配信に関する設定

ここでは、ロールバックされたメッセージの再配信に関する設定について説明します。

再配信回数

再配信回数の上限は、送信先か、JMSサービスのMOの属性で指定します。送信先で指定した場合は、その送信先に接続したコンシューマに対して有効になり、JMSサービスで指定した場合は、JMSサーバで動作するコンシューマ全体に対して有効になります。既定値以外の値が設定されていた場合の優先順位は、高いものから、送信先、JMSサービスの設定となります。

server.jms-physical-destination.physical-destination-name
server.jms-service :
表1.7.3.11-1
属性名 説明 既定値
wojmsRedeliveryLimit 再配信回数上限。メッセージ再配信回数の上限を指定します。-1は無制限を、0は再配信なしを意味します。 -1 (無制限)

備考 :
送信先、JMSサービスともに属性名は同じです。
再配信遅延時間

再配信の遅延時間は、コネクションファクトリリソース、送信先、JMSサービスのMOの属性で指定します。また、コンシューマプログラム向けに用意しているAPI(WebOTX V5よりサポート)で、セッション単位に指定することも可能です。既定値以外の値が設定されていた場合の優先順位は、高いものから、セッション単位、コネクションファクトリリソース、送信先、JMSサービスの設定となります。

server.resources.jms-resource.jms-connection-factory.connection-factory-name
server.jms-physical-destination.physical-destination-name
server.jms-service :
表1.7.3.11-2
属性名 説明 既定値
wojmsRedeliveryDelay 再配信遅延時間。メッセージ再配信で、配信の遅延時間を秒単位で指定します。0は、待ち合わせ無しを意味します。 0 (待ち合わせ無し)

備考 :
コネクションファクトリリソース、送信先、JMSサービスともに属性名は同じです。

セッション単位で指定する場合については、[リファレンス集 開発編(共通) > 3. リソース > 3.2. JMS > 3.2.2. 拡張インタフェース]を参照してください。

MDBで再配信遅延時間を指定する場合

MDBに対して再配信遅延時間を指定するには、以下に示す方法があります。優先順位は、高いものから順に、1、2、3 となっており、以下のいずれも指定されていない場合は、前述の指定に従って再配信されます。

  1. 配備記述子での設定
    ejb-jar.xml中の<activation-config-property>を利用して、以下のプロパティを設定します。
    表1.7.3.11-3
    プロパティ
    説明
    RedeliveryDelay 再配信遅延時間(秒)

    具体例は、以下の通りです。

    <?xml version="1.0" encoding="UTF-8"?>
    <ejb-jar>
     <enterprise-beans>
      <message-driven>
       <ejb-name>MyMDB</ejb-name>
       ・・・・・
       <activation-config>
        <activation-config-property>
         <activation-config-property-name>RedeliveryDelay</activation-config-property-name>
         <activation-config-property-value>10</activation-config-property-value>
        </activation-config-property>
        ・・・・・
       </activation-config>
      </message-driven>
     </enterprise-beans>
    </ejb-jar>

  2. アノテーションでの設定
    @ActivationConfigPropertyを利用して、以下のプロパティを設定します。
    表1.7.3.11-4
    プロパティ
    説明
    RedeliveryDelay 再配信遅延時間(秒)

    具体例は、以下の通りです。

    @MessageDriven(
      activationConfig = {
        @ActivationConfigProperty(propertyName="RedeliveryDelay", propertyValue="10"),
        ・・・・・
      }
    )
    public class MyMDB implements MessageListener {
      public void onMessage(Message msg) {・・・・・}
    }

  3. プロセスグループでの設定
    プロセスグループの Java システムプロパティに以下のプロパティを指定してください。
    表1.7.3.11-5
    プロパティ
    説明
    wojmsRedeliveryDelay 再配信遅延時間(秒)

1.7.3.12. 破棄メッセージの転送に関する設定

ここでは、破棄メッセージの転送に関する設定について説明します。「破棄メッセージ」とは、不達メッセージ(再配信回数を超過したメッセージ)や、有効期限切れのメッセージのことをさします。

不達メッセージ
不達メッセージの転送先は、送信先か、JMSサービスのMOの属性で指定します。送信先で指定した場合は、その送信先の不達メッセージに対して有効になり、JMSサービスで指定した場合は、JMSサーバ内のすべての不達メッセージに対して有効になります。転送先が設定されていた場合の優先順位は、高いものから、送信先、JMSサービスの設定となります。

server.jms-physical-destination.physical-destination-name
server.jms-service :
表1.7.3.12-1
属性名 説明 既定値
wojmsRedeliveryDestination 不達メッセージ転送先。再配信回数を超過したメッセージを転送する送信先名を指定します。ここに指定する送信先は、あらかじめ作成しておく必要があります(自動的に作成されません)。  

備考 :
送信先、JMSサービスともに属性名は同じです。
有効期限切れメッセージ
有効期限切れメッセージの転送先は、JMSサーバのプロパティか、JMSサービスのMOの属性で指定します。ここで指定した値は、JMSサーバ全体で有効になります。

server.jms-service :
表1.7.3.12-2
MOの属性 JMSサーバのプロパティ名 説明
wojmsExpirationDestination wojms.expiration.destination 有効期限切れメッセージを転送する送信先名
注意 :
移動したメッセージのメッセージヘッダと、メッセージプロパティの扱いについて、以下に記述します。
JMSのメッセージヘッダ:
表1.7.3.12-3
フィールド名
JMSCorrelationID 変更しません。
JMSDeliveryMode PERSISTENTに変更します。
不達メッセージの場合、元の情報は、WOJMSOriginalPersistentにBoolean値で設定されます。trueはPERSISTENT、falseはNON_PERSISTENTです。
JMSDestination 転送先の送信先に変更します。
元の情報は、WOJMSOriginalDestinationNameに送信先名を含めて設定されます。
JMSExpiration クリアします。
不達メッセージの場合、元の情報は、WOJMSOriginalExpirationに設定されます。
JMSMessageID 新規のメッセージ識別子に変更します。
元の情報は、メッセージプロパティWOJMSOriginalMessageIDに設定されます。
JMSPriority 変更しません。
JMSRedelivered 変更しません。
JMSReplyTo 変更しません。
JMSTimestamp 移動した時刻に変更します。
不達メッセージの場合、元の情報は、WOJMSOriginalTimeStampに設定されます。
JMSType 変更しません。
JMSのメッセージプロパティ:
表1.7.3.12-4
フィールド名
WOJMSDelayTime 削除します。
不達メッセージの場合、元の情報は、WOJMSOriginalDelayTimeに設定されます。
WOJMSOriginalMessageID 転送前のJMSMessageIDを格納します。
WOJMSOriginalDestinationName 転送前のJMSDestinationから取得した送信先名と送信先タイプを連結した文字列を格納します。
WOJMSDeletedReason メッセージの削除理由を文字列で格納します。
不達メッセージの設定値: DELETED
有効期限切れメッセージの設定値: EXPIRED
WOJMSOriginalExpiration 不達メッセージの場合、転送前のJMSExpirationの値を格納します。
WOJMSOriginalPersistent 不達メッセージの場合、転送前のJMSDeliveryModeの値をBoolean値で格納します。trueはPERSISTENT、falseはNON_PERSISTENTです。
WOJMSOriginalTimeStamp 不達メッセージの場合、転送前のJMSTimestampの値を格納します。
WOJMSOriginalDelayTime 不達メッセージの場合、転送前のWOJMSDelayTimeの値を格納します。

1.7.3.13. JMSクライアントのログ出力

非Java EE環境下で動作するJavaアプリケーションでは、実行時にJavaシステムプロパティを設定することにより、ログ出力が可能です。ログは、障害解析などに利用します。
ログを出力するには、以下をJavaシステムプロパティとして指定します。

wojms.client.log.level
wojms.client.log.file

各プロパティの詳細については、「1.7.2.7. JMSのプロパティ/属性一覧 > JMSクライアントのプロパティ」を参照してください。

1.7.3.14. 分散トランザクションへの参加

Java EE環境で、JMSを分散トランザクションに参加させる場合、トランザクションサービスのJCAリソースを登録する必要があります。
JCAリソースの登録方法については、「ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.4. Transactionサービス > 7.4.2. リソースの登録・削除」を参照してください。

注意 :

1.7.3.15. JMSサーバクラスタを利用するための設定

ここでは、2つのJMSサーバで構成されるJMSサーバクラスタの設定方法について説明します。
設定は、以下のように、host1のdomain1で起動するJMSサーバ(JMS1)と、host2のdomain1で起動するJMSサーバ(JMS2)でJMSサーバクラスタを構成するものとします。また、マスターブローカとして、host1-domain1上のJMSサーバを指定します。


図1.7.3.15-1

  1. host1-domain1、host2-domain1のJMSサーバの設定

    統合運用管理ツールの場合
    「WebOTX 管理ドメイン[<ホスト名>]」-「<ドメイン名>」-「アプリケーションサーバ」-「JMS サービス」の「クラスタ」タブの各属性に対して、以下を設定します。

    表1.7.3.15-1
    項目 設定値
    JMSサーバクラスタの使用 true(チェックする)
    クラスタに属するJMSサーバのアドレスリスト host1:9700,host2:9700
    マスターブローカのアドレス host1:9700

    運用管理コマンドの場合
    set コマンドで以下を設定します。
    otxadmin> set server.jms-service.enableCluster=true
    otxadmin> set server.jms-service.clusterBrokerList=host1:9700,host2:9700
    otxadmin> set server.jms-service.clusterMasterBroker=host1:9700
    
    注意 :

    同一ホストでJMSサーバクラスタを構成する場合、上記の設定に加えて、次の設定が必要です。

    • JMSサーバインスタンス識別子をホスト内で一意となるように設定してください。設定方法は次のとおりです。

      統合運用管理ツールの場合
      「WebOTX 管理ドメイン[<ホスト名>]」-「<ドメイン名>」-「アプリケーションサーバ」-「JMS サービス」-【プロパティの設定】操作で、以下を設定します。
        instance-name=<JMSサーバインスタンス識別子>

      運用管理コマンドの場合
      set コマンドで以下を設定します。
        otxadmin> set server.jms-service.property.instance-name=<JMSサーバインスタンス識別子>

    • 2つ目以降のドメインに対して、クラスタコネクションサービスのポート番号(既定値は、9705)を変更してください。

      統合運用管理ツールの場合
      「WebOTX 管理ドメイン[<ホスト名>]」-「<ドメイン名>」-「アプリケーションサーバ」-「JMS サービス」-「クラスタコネクションサービスのポート番号」 を変更します。

      運用管理コマンドの場合
      set コマンドで以下を設定します。
        otxadmin> set server.jms-service.clusterPort=<クラスタコネクションサービスのポート番号>

  2. JMSサーバの再起動
    クラスタの設定は、JMSサーバの再起動後に有効になるため、すべてのJMSサーバを再起動します。

    注意 :
    • マスターブローカを設定した場合は、マスターブローカが起動するまで、他のJMSサーバは利用できません。

    • マスターブローカを設定した場合は、マスターブローカが停止中、クラスタ内のJMSサーバでは以下の操作ができなくなります。それ以外の操作は正常に行えます。
        - 物理的な送信先の生成/削除/プロパティ更新
        - 永続サブスクリプションの削除

1.7.3.16. 接続先分散のための設定

JMSサーバクラスタなどで、接続先の分散を行うためにアドレスリストを使用することができます。アドレスリストは、コネクションファクトリリソースの属性として設定します。

server.resources.jms-resource.jms-connection-factory.connection-factory-name
表1.7.3.16-1
属性名 説明 既定値
wojmsAddressList 接続先のリストを指定します。
この値を設定した場合は、「JMSサーバのホスト名」(wojmsBrokerHostName)と、「JMSサーバのホストのポート番号」(wojmsBrokerHostPort)の設定は無視されますので、必要に応じてこの接続先をリストに含めてください。
アドレスの構文は、[hostName][:port]で、複数のアドレスを指定する場合は、「,」で区切ります。
 
wojmsAddressListBehavior アドレスリストから、接続先を選択する方法を指定します。
PRIORITY:アドレスリストに指定された順番
RANDOM:ランダムに選択
接続障害後の再接続は、いずれの場合も、接続がエラーになったJMSサーバに対するアドレスから始まります。
PRIORITY
wojmsAddressListIterations 接続の試行を中止して例外を通知するまでの、アドレスリストの繰り返し回数を指定します。 1

次に、アドレスリストを設定した場合の動作について説明します。

JMSクライアントランタイムは、wojmsAddresListBehaviorの設定に応じて、wojmsAddressListから接続先を選択し接続を行います。最初に選択したアドレスで接続できなかった場合は、wojmsAddressListから「次の」アドレスを選択して接続を試みます。それでも接続できなければ「次の」アドレス、と進めていき、wojmsAddressListIterations回アドレスリストを繰り返して接続できなければ、例外を発生させるようになっています。


図1.7.3.16-1

1.7.3.17. 再配信メッセージの順序保証のための設定

アプリケーション異常など、トランザクションのロールバックによりメッセージが再配信される場合でもメッセージの配信順序を保証したい場合は、物理的な送信先に対して次の設定を行います。

server.jms-service.jms-physical-destination.physical-destination-name
表1.7.3.17-1
属性名 説明 既定値
supportOrderedRedelivery メッセージ再配信時の順序保証を行うかどうかを指定します。
true:再配信時の順序保証を行います。接続できるコンシューマ数は1になります。
false:再配信時の順序保証を行いません。
false (再配信時の順序保証はしない)
注意 :
順序保証の設定を変更する場合は、送信先のコンシューマ数が 1 以下の状態で行ってください。 複数のコンシューマが接続しているときに順序保証の設定を有効にしても、設定は無視されます。
再配信メッセージの順序保証の利用条件
再配信メッセージの順序保証が利用できるのは、次の環境に制限されます。
  1. 送信先タイプはキューであること
    JMSサーバクラスタ構成では、送信先の「ローカル配信のみ (isLocalOnly) 」の 設定を有効 (true) にして、ローカルコンシューマ (送信先が作成されたブローカに 接続しているコンシューマ) だけにメッセージを配信するようにおく必要があります。
  2. コンシューマのメッセージ受信がトランザクション内で行われていること
  3. 送信先に接続するコンシューマ数は 1 であること
    送信先に接続できるコンシューマ数は、1 に制限されます。また、MDBの場合は、多重度を 1 に制限しておく必要があります。


再配信メッセージの順序保証の利用時の動作
再配信メッセージの順序保証を利用する場合、各設定が行われたメッセージは次のようになります。
優先度を設定したメッセージ
1 件目は優先度の最も高いものがコンシューマに配信されます。 コンシューマがそのメッセージをロールバックした場合は、優先度を無視して そのメッセージが再配信されます。 2 件目は、その次に優先度の高いものが配信されます。


配信時間を設定したメッセージ
1 件目は、最初に指定時刻に達したメッセージがコンシューマに配信されます。 コンシューマがそのメッセージをロールバックすると、配信時間を無視して そのメッセージが再配信されます。 コンシューマがメッセージをロールバックしている間は、他のメッセージが 指定時刻になっても配信されません。 2 件目は、その次に指定時刻に達したものが配信されます。


有効期限を設定したメッセージ
メッセージの再配信中に有効期限が切れた場合は、 そのメッセージが破棄(または、転送)され、コンシューマには、その次の メッセージが配信されます。


再配信回数、再配信遅延時間、破棄メッセージ転送先の設定
いずれの設定も有効になります。 コンシューマが 1 件目のメッセージを受信後、ロールバックすると、 遅延時間に指定した時間だけ待ってそのメッセージが再配信され、 再配信回数の上限を超えると、そのメッセージは破棄(または、転送)されます。 その後、キュー内の 2 件目のメッセージが配信されます。




1.7.3.18. 他社JMSプロバイダ接続の設定

ここでは、他社JMSプロバイダ接続に関する設定について説明します。

他社JMSプロバイダ側では、次の作業が必要です。
  1. JNDIへの登録
WebOTX側では、次の作業が必要です。
  1. 他社JMSプロバイダ実装クラスに関する設定
  2. リソースアダプタの設定
  3. リソースアダプタの配備
  4. コネクタコネクションプールの生成
  5. コネクタリソースの生成
  6. 管理対象オブジェクトの生成
  7. 配備記述子の定義

他社JMSプロバイダ側の作業
(1) JNDIへの登録
接続に必要な送信先とコネクションファクトリオブジェクトをJNDIに登録します。

登録には他社JMSプロバイダが提供している管理ツールなどを使用しますが、他社JNDIプロバイダとの接続に必要な実装クラス群とプロパティの情報が必要となります。

WebOTX JNDIに対して登録する場合に必要な情報については、 [ アプリケーション開発ガイド(共通) > 4. JNDIアプリケーションの開発 > 4.1. プログラミング・開発ガイド > 4.1.1. 環境設定 ] を参照してください。
登録情報を永続化するために次のプロパティを指定するようにしてください。指定しない場合、JNDIの再起動で登録情報が消失することになります。
有用なプロパティ
webotx.jndi.persistent=true



WebOTX側の作業
(1) 他社JMSプロバイダ実装クラスに関する設定
汎用JMSリソースアダプタや、MDBなどのJava EEアプリケーションから他社JMSプロバイダ実装クラスが参照できるように、次のディレクトリ配下に必要なクラス群を格納してください。この作業はドメイン停止中に行ってください。

格納先
${INSTANCE_ROOT}/lib

WebOTX JNDIで登録情報の永続化を有功にしているにも関わらず、WebOTXの再起動により登録情報が参照できなくなる場合、永続化した登録情報の復元時にクラス参照が解決ができていないことが考えられます。この場合は、ドメインの「サーバのクラスパス」属性に必要なクラス群を指定してください。

統合運用管理ツールの場合
「WebOTX 管理ドメイン[<ホスト名>]」-「<ドメイン名>」-「アプリケーションサーバ」-「JVM構成」の「クラスパス」タブの「サーバのクラスパス」属性に指定します。

運用管理コマンドの場合
set コマンドで server.java-config.server-classpath 属性に指定します。UNIXでの実行例を示します(以降同様)。
otxadmin> set server.java-config.server-classpath=/other/jms/lib/a.jar:/other/jms/lib/b.jar:/other/jms/lib/c.jar

クラス群を指定しても参照できない場合、永続化した登録情報の復元時にセキュリティ例外が発生していることが考えられます。 例えば、リフレクション権限が不足する場合には、次の例外が発生します。
java.security.AccessControlException: access denied (java.lang.reflect.ReflectPermission suppressAccessChecks)

この場合、セキュリティログ(${INSTANCE_ROOT}/logs/agent/webotx_security.log)で詳細を確認し、必要な権限を以下のセキュリティポリシファイルに追加してください。
${INSTANCE_ROOT}/config/server.policy

(2) リソースアダプタの設定
汎用JMSリソースアダプタに関する設定を生成します。

アダプタ名
genjmsra

統合運用管理ツールの場合
「WebOTX 管理ドメイン[<ホスト名>]」-「<ドメイン名>」-「リソース」-「コネクタモジュール構成情報」-【コネクタモジュールのための構成情報を登録】操作

運用管理コマンドの場合
create-resource-adapter-config コマンドを利用します。
otxadmin> create-resource-adapter-config --property ProviderIntegrationMode=jndi:SupportsXA=true:RMPolicy=OnePerPhysicalConnection:UseFirstXAForRedelivery=true:JndiProperties=java.naming.factory.initial\\=jp.co.nec.WebOTX.jndi.SerialInitContextFactory,java.naming.provider.url\\=corbaname\\:\\/\\/host\\:2809 genjmsra
ここには、他社JMSプロバイダの送信先やコネクションファクトリオブジェクトを登録したJNDIに関する情報などを指定します。

表1.7.3.18-1
プロパティ名 説 明 既定値
ProviderIntegrationMode 他社JMSプロバイダとの連携方式を指定します。
jndi:オブジェクトをJNDIからlookupします。
javabean:オブジェクトをリフレクションで生成します。

※V8.1ではjavabeanをサポートしていません。必ずjndiを指定してください。
javabean
JndiProperties JNDIプロバイダに適用するプロパティ群(カンマで区切られた名前と値のペア)を指定します。
WebOTX JNDIを利用する場合は、次のプロパティが必要です。
java.naming.factory.initial=jp.co.nec.WebOTX.jndi.SerialInitContextFactory
java.naming.provider.url=corbaname://host:port
接続先のホスト名とポート番号を指定します。
 
SupportsXA XAのサポート可否を指定します。
true:XAをサポートします。
false:XAをサポートしません。
false
UserName コネクション接続時に使用するユーザ名を指定します。  
Password コネクション接続時に使用するパスワードを指定します。  
RMPolicy 他社JMSプロバイダ実装のXAResourceをラップしたオブジェクトにおいて、isSameRM()呼び出しをどのように処理するかを指定します。
ProviderManaged:他社JMSプロバイダ実装のXAResourceに委譲します。
OnePerPhysicalConnection:ラップオブジェクトで判断します。

※「IBM WebSphere MQ」の場合、同じキューマネージャに対する受信と送信が2フェーズコミットメントになるケースでOnePerPhysicalConnectionの指定が必要です。
ProviderManaged
UseFirstXAForRedelivery MDBのアダプタ内での再配信機能が有効な場合に、再配信の有無が決定するまでXAトランザクションの開始を遅延させる処理を無効にするか否かを指定します。
true:無効にします。
false:有効にします。

※「IBM WebSphere MQ」の場合、XAトランザクションの開始を遅延させることができません。MDBのアダプタ内での再配信機能を有効にする場合には必ずtrueを指定してください。
false


(3) リソースアダプタの配備
汎用JMSリソースアダプタを配備します。

RARファイル
${AS_INSTALL}/wojms/lib/genjmsra.rar

統合運用管理ツールの場合
「WebOTX 管理ドメイン[<ホスト名>]」-「<ドメイン名>」-「アプリケーション」-【コンポーネントの配備】操作

運用管理コマンドの場合
deploy コマンドを利用します。
otxadmin> deploy /opt/WebOTX/wojms/lib/genjmsra.rar
(4) コネクタコネクションプールの生成
アプリケーションで使用するJMSコネクションファクトリに関するコネクタコネクションリソースを生成します。
MDBのメッセージ受信に関するものは生成する必要はありません。

統合運用管理ツールの場合
「WebOTX 管理ドメイン[<ホスト名>]」-「<ドメイン名>」-「リソース」-「コネクタコネクションプール」-【コネクションプールの登録】操作

運用管理コマンドの場合
create-connector-connection-poolコマンドを利用します。
otxadmin> create-connector-connection-pool --raname genjmsra --connectiondefinition javax.jms.QueueConnectionFactory --transactionsupport XATransaction --property ConnectionFactoryJndiName=other/ReplyQCF:ConnectionValidationEnabled=true mypool
ここには、JNDIに登録された他社JMSプロバイダのコネクションファクトリオブジェクトとの関連付けなどを指定します。

表1.7.3.18-2
プロパティ名 説 明 既定値
ConnectionFactoryJndiName 他社JMSプロバイダが登録したコネクションファクトリのJNDI名を指定します。  
ConnectionValidationEnabled 例外リスナでコネクション例外を捕捉し、CONNECTION_ERROR_OCCUREDイベントをアプリケーションサーバに通知するか否かを指定します。
true:通知します。
false:通知しません。
false
SyncExceptionListenerEnabled 非同期受信型メッセージリスナを設定しなければ例外リスナが機能しないJMSプロバイダの場合、コネクション例外を認識することができません。これを回避するために、一時的な送信先を利用した非同期受信型メッセージリスナを生成するか否かを指定します。ConnectionValidationEnabledをtrueにした場合に有効です。
true:生成します。
false:生成しません。
false
ClientId コネクションで使用するクライアントIDを指定します。  


(5) コネクタリソースの生成
アプリケーションで使用するJMSコネクションファクトリに関するコネクタリソースを生成します。
MDBのメッセージ受信に関するものは生成する必要はありません。

統合運用管理ツールの場合
「WebOTX 管理ドメイン[<ホスト名>]」-「<ドメイン名>」-「リソース」-「コネクタリソース」-【コネクタリソースの登録】操作

運用管理コマンドの場合
create-connector-resource コマンドを利用します。
otxadmin> create-connector-resource --poolname mypool jms/ReplyQCF
汎用JMSリソースアダプタ固有の設定はありません。

分散トランザクションに参加させる場合、「1.7.3.14. 分散トランザクションへの参加」の作業を行ってください。


(6) 管理対象オブジェクトの生成
アプリケーションで使用するJMS送信先に関する管理対象オブジェクトリソースを生成します。
MDBのメッセージ受信に関するものは生成する必要はありません。

統合運用管理ツールの場合
「WebOTX 管理ドメイン[<ホスト名>]」-「<ドメイン名>」-「リソース」-「リソースアダプタ」-【リソースアダプタの管理オブジェクトの登録】操作

運用管理コマンドの場合
create-admin-object コマンドを利用します。
otxadmin> create-admin-object --raname genjmsra --restype javax.jms.Queue --property DestinationJndiName=other/ReplyQueue jms/ReplyQueue
ここには、JNDIに登録された他社JMSプロバイダの送信先オブジェクトとの関連付けなどを行います。

表1.7.3.18-3
プロパティ名 説 明 既定値
DestinationJndiName 他社JMSプロバイダが登録した送信先のJNDI名を指定します。  


(7) 配備記述子の定義
MDBに関する設定は、配備記述子(nec-ejb-jar.xml)のmdb-resource-adapter要素に定義します。

<?xml version="1.0" encoding="UTF-8"?>
<nec-ejb-jar>
 <enterprise-beans>
  <ejb>
   <ejb-name>MyMDB</ejb-name>
   ・・・・・
   <mdb-resource-adapter>
    <resource-adapter-mid>genjmsra</resource-adapter-mid>
    <activation-config>
     <activation-config-property>
      <activation-config-property-name>ConnectionFactoryJndiName</activation-config-property-name>
     <activation-config-property-value>other/RequestQCF</activation-config-property-value>
     </activation-config-property>
     <activation-config-property>
      <activation-config-property-name>DestinationJndiName</activation-config-property-name>
      <activation-config-property-value>other/RequestQueue</activation-config-property-value>
     </activation-config-property>
     ・・・・・
    </activation-config>
   </mdb-resource-adapter>
  </ejb>
 </enterprise-beans>
</nec-ejb-jar>

resource-adapter-mid要素には、汎用JMSリソースアダプタの識別子を指定します。

識別子
genjmsra

activation-config要素には、メッセージ受信に関する汎用JMSリソースアダプタのActivationSpecプロパティを指定します。ここには、JNDIに登録された他社JMSプロバイダの送信先やコネクションファクトリオブジェクトなどを指定します。

表1.7.3.18-4
プロパティ名 説 明 既定値
ConnectionFactoryJndiName 他社JMSプロバイダが登録したコネクションファクトリのJNDI名を指定します。  
DestinationJndiName 他社JMSプロバイダが登録した送信先のJNDI名を指定します。  
DestinationType 送信先のタイプを指定します。
javax.jms.Queue:キュー
javax.jms.Topic:トピック
 
SubscriptionDurability Topicサブスクリプションの持続性を指定します。
Durable:持続性
Non-Durable:非持続性
Non-Durable
SubscriptionName Topicサブスクリプション名を指定します。  
MessageSelector メッセージセレクタを指定します。  
ClientID クライアントIDを指定します。  
MaxPoolSize メッセージの多重処理のためにリソースアダプタが生成するServerSessionPoolの最大数を指定します。
この値は、MDBの最大プール数に合わせてください。
8
MaxWaitTime ServerSessionPoolからのServerSession取得時の待ち合わせ時間(秒)を指定します。 この値を超えると、メッセージ配信が失敗します。 3
ReconnectAttempts コネクションの再接続回数を指定します。 0
ReconnectInterval コネクションの再接続間隔(秒)を指定します。 0
RedeliveryAttempts MDBで実行時例外が発生した場合にアダプタ内で再配信する回数を指定します。 0
RedeliveryInterval MDBで実行時例外が発生した場合にアダプタ内で再配信する間隔(秒)を指定します 0
EndpointReleaseTimeout エンドポイントの解放待ち合わせ時間(秒)を指定します。 180
SyncExceptionListenerEnabled 非同期受信型メッセージリスナを設定しなければ例外リスナが機能しないJMSプロバイダの場合、コネクション例外を認識することができません。これを回避するために、一時的な送信先を利用した非同期受信型メッセージリスナを生成するか否かを指定します。ReconnectAttemptsが1以上の場合に有効です。
true:生成します。
false:生成しません。
false

1.7.3.19. ActivationSpec に設定可能なプロパティ

JMS リソースアダプタの ActivationSpec に設定可能なプロパティは次のとおりです。

表1.7.3.19-1
プロパティ名 説 明 既定値
destination 送信先名を指定します。  
destinationType 送信先のタイプを指定します。
javax.jms.Queue:キュー
javax.jms.Topic:トピック
 
messageSelector メッセージセレクタを指定します。  
subscriptionName Topicサブスクリプション名を指定します。  
subscriptionDurability Topicサブスクリプションの持続性を指定します。
Durable:持続性
NonDurable:非持続性
NonDurable
clientId クライアントIDを指定します。  
acknowledgeMode 確認応答モードを指定します。
Auto-acknowledge: Auto-acknowledge モード
Dups-ok-acknowledge: Dups-OK-acknowledge モード
Auto-acknowledge
endpointExceptionRedeliveryAttempts MDBで実行時例外が発生した場合にアダプタ内で再配信する回数を指定します。コンテナ管理トランザクション NotSupported あるいは、Bean管理トランザクションの場合に有効になります。 1
redeliveryDelay MDBで実行時例外が発生した場合にアダプタ内で再配信する間隔(秒)を指定します。0は待ち合わせなしを意味します。 0 : コンテナ管理トランザクション Required の場合
1 : コンテナ管理トランザクション NotSupported あるいは、Bean管理トランザクションの場合
endpointPoolMaxSize エンドポイントプールで保持されるエンドポイントの最大数を指定します。 15
endpointPoolSteadySize エンドポイントプールで保持されるエンドポイント初期値を指定します。 10

1.8. JDBCデータソース

JDBCデータソースに関する設定について説明します。

1.8.1. JDBCデータソース設定項目・設定方法

JDBCデータソースのMO名は、「jdbc-datasource.datasource-name」です。datasource-nameは、"jdbc/"で始まるJDBCデータソースの定義名です。JNDIサーバへの登録名を兼ねます。

JDBC データソースの登録を行うと、JDBCデータソースの定義情報がdomain.xmlに登録され、同時に、JNDIサーバへの登録が行われます。また、管理コマンド等で設定変更を行った際には、 domain.xmlの変更とJNDIサーバへの再登録が行われます。domain.xmlの設定をエディタ等で修正してもJNDIサーバへの再登録が行われないため、変更内容を動作に反映させることはできません。

コマンドで各項目を参照、設定する際は、「server.resources.jdbc-datasource.datasource-name」という名前を指定します。また、統合運用管理ツールでは、ドメイン ツリーの「WebOTXAdmin[ホスト名]-ドメイン名-リソース-JDBCデータソース-datasource-name」を選択します。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

JDBCデータソースの属性やプロパティの値を変更した場合、「設定変更内容の反映」操作を行った際に、変更内容が動作に反映されます。または、アプリケーションで、JNDIサーバからJDBCデータソースを再取得した際に、変更内容を動作に反映することができます。ただし、WebOTX V9.1以前のバージョンでは、java:comp/env指定で、アプリケーション固有の名前空間からJDBCデータソースを取得する場合に、変更内容を動作に反映するためには、プロセス(JavaVM)の再起動が必要です。

コネクションに関連する属性やプロパティ(dataSourceType や jdbcMajorVersion、dataSourceName、serverName、networkProtocol、portNumber、userName、password、loginTimeout、 jdbcDriverName、cursorMode、characterEncoding、maxStatements、useJTA、useOneConnectionPerTransaction、useDatabaseCluster、checkGarbageOption、clusterPoolOption、 jndiProviderUrl、wrapStatement、readTimeout、transactionIsolationLevel、driverVenderProperties)を変更する場合は、プロパティ置換までの待機時間(propertyCycle)が経過した後で、そのプールに存在するコネクション全てが消滅し、新しいコネクションが作成されます。

なお、JDBCデータソースでは、旧バージョンで提供していたdsadmコマンドも利用することができます。dsadmコマンドのリファレンスについては、「4. 運用管理コマンドリファレンス > 4.3. JDBCデータソース > 4.3.1. dsadm」を参照ください。

定義の追加

> dsadm bind property-file-name

項目の参照

> dsadm list

項目の設定

> dsadm rebind property-file-name

1.8.2. JDBCデータソース設定項目一覧

JDBCデータソースのMOを介して、次の項目を参照・設定することができます。

1.8.2.1. 一般設定項目一覧

Dottedname : server.resources.jdbc-datasource.datasource-name

表1.8.2.1-1
属性名
[attribute-name]
説 明 既定値
JNDIサーバへの登録名
[jndiName]
JNDIサーバへの登録名です。
"jdbc/"で始まる名前を設定してください。この名前はJDBCデータソースの定義を一意に表す名前として使用されます。
なし
データソースの種別
[dataSourceType]
JDBCデータソースで使用する、JDBCドライバベンダ提供のインタフェースの種別を表わす文字列です。次のいずれかを設定します。

JDBCEX_Oracle
バージョン8.1.7以降のOracleのJDBC Optional Packageインタフェースを使用します。

JDBCEX_Sybase
バージョン12.5以降のSybase Adaptive Server EnterpriseのJDBC Optional Packageインタフェースを使用します。

JDBCEX_MSSqlServer
バージョン2000以降のMicrosoft SQL ServerのJDBC Optional Packageインタフェースを使用します。

JDBCEX_DB2
バージョン8.1.4以降のDB2 Universal DatabaseのJDBC Optional Packageインタフェースを使用します。

JDBCEX_Cloudscape
バージョン3.0.3以降のCloudscapeのJDBC Optional Packageインタフェースを使用します。

JDBCEX_SequeLink
バージョン5.0以降のSequeLinkのJDBC Optional Packageインタフェースを使用します。

JDBCEX_PostgreSQL
バージョン7.3.2以降のPostgreSQLの JDBC Optional Packageインタフェースを使用します。

JDBCEX_Derby
バージョン10.2.2以降のApache Derbyの JDBC Optional Packageインタフェースを使用します。

JDBC
java.sql.DriverManagerを介してJDBCのインタフェースを使用します。JDBCEXタイプでサポートされていないJDBCドライバを使用する場合に使用してください。
なし
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンです。
234を設定します。
2
JDBC仕様のマイナーバージョン
[jdbcMinorVersion]
JDBC仕様のマイナーバージョンです。
JDBC仕様のバージョンが4.1の場合に1を設定します。
0
JTA連携有無
[useJTA]
JTA(EJBのトランザクション)との連携有無を表わすブール値です。

true
JTAと連携します。

false
JTAと連携しません。
true
JDBCデータソースについての説明
[description]
JDBCデータソースについての説明です。
文字列の内容は自由です。例えば、プロパティの設定内容を判別するための記述を設定してください。
なし
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
データベースサーバと接続するための文字列です。
dataSourceTypeの値に応じて、データベースとの接続文字列やデータベース名、またはデータソース名を設定します。
なし
ユーザ名[userName] データベースとの接続時に使用するユーザ名です。
アプリケーションへのJDBCコネクションの返却や、JDBCデータソースのテスト操作、および、データベースサーバの状態監視(checkServerOptionへのmonitor指定)が行われる場合に本設定が使用されます。 ただし、JDBCコネクションの取得メソッドでユーザ名を指定した場合、本設定は使用されません。
なし
パスワード[password] データベースとの接続時に使用するパスワードです。
アプリケーションへのJDBCコネクションの返却や、JDBCデータソースのテスト操作、および、データベースサーバの状態監視(checkServerOptionへのmonitor指定)が行われる場合に本設定が使用されます。ただし、JDBCコネクションの取得メソッドでパスワードを指定した場合、本設定は使用されません。
なし
サーバ名
[serverName]
データベースサーバ側のサーバ名(TCP/IPホスト名)です。 なし
ポート番号
[portNumber]
データベースサーバ側のポート番号です。
dataSourceTypeの値に応じて初期値が設定されます。統合運用管理ツールでJDBCデータソースの登録を行う場合、データソースの種別[dataSourceType]を変更する度に、デフォルト値が設定されることに注意してください。
dataSourceType毎の設定を参照してください
カスタマイズテンプレート
[customizeTemplate]
JDBCデータソースの複数の属性を一括してカスタマイズするためのオプションです。次の観点でJDBCデータソースの設定をカスタマイズします。ただし、プールサイズは、アプリケーションの動作スレッド数に応じて調整してください。 詳細は、「2.7.2.2. テンプレートによるカスタマイズの設定」を参照してください。

Performance
性能を向上させるためのカスタマイズを行います。
カスタマイズ対象の属性は次の通りです。
maxPoolSize(20)、minPoolSize(20)、initialPoolSize(5)、shrinkDelayTime(60)、waitFreeConnTimeout(20)、maxStatement(20)

Reliability
信頼性を向上させるためのカスタマイズを行います。
カスタマイズ対象の属性は次の通りです。
connectRetryMax(1)、connectRetryInterval(10)、checkServerOption(monitor)、checkServerInterval(60)、checkServerCommand(connect)、queryTimeout(300)、readTimeout(315)、loginTimeout(15)

PerformanceAndReliability
性能と信頼性を向上させるためのカスタマイズを行います。
PerformanceとReliabilityの両方の属性をカスタマイズします。

none
カスタマイズなし。
none


1.8.2.2. コネクションプール設定項目一覧

Dottedname : server.resources.jdbc-datasource.datasource-name

表1.8.2.2-1
属性名
[attribute-name]
説 明 既定値
最小プールサイズ
[minPoolSize]
JDBCコネクションのプールサイズです。
設定された数までのJDBCコネクションが常時保持されます。0を設定した場合、プール管理を行いません。この値を越えて払い出されたコネクションは、shrinkDelayTimeで指定された時間が経過した後で、 コネクションをクローズした時、または、トランザクションが完了した時に解放されます。
4
最大プールサイズ
[maxPoolSize]
JDBCコネクションの最大プールサイズです。
maxPoolSizeを超えるJDBCコネクションの取得要求は失敗します。0を設定した場合、制限なしとなります。それ以外の場合は、minPoolSize以上の値を設定してください。
0
初期プールサイズ
[initialPoolSize]
プール作成時にプールされるJDBCコネクションの数です。
プール作成時とは、通常、ドメインやプロセスグループの起動時です。ただし、スタンドアロンのJavaアプリケーションなどからJDBCデータソースを利用する場合には、最初にgetConnectionメソッドを呼び出した時になります。 minPoolSize以下の値を設定してください。
0
無通信時間の上限
[maxIdleTime]
JDBCコネクションが未使用状態のままプールされ続ける時間(単位:秒)です。
設定された時間が経過した未使用状態のJDBCコネクションは破棄されます。0を設定した場合、アイドル時間監視は行われません。
0
プロパティ置換までの待機時間
[propertyCycle]
動作中のJDBCデータソースが使用するプロパティ値を強制的に変更するまでの待ち時間(単位:秒)です。
JNDIサーバからJDBCデータソースをlookupし直した場合、設定された時間が経過した後で新しい属性やプロパティが反映されます。0を設定した場合、待ち合わせは行われません。
0
コネクションの一括破棄可否
[resetAllConnectionsOnFailure]
データベースの状態監視やJDBCドライバからのコネクション障害通知で障害が検出された際に、プール内の全てのJDBCコネクションを破棄するかどうかを表すブール値です。 true
初期接続の接続リトライ有無
[reconnectInitialPool]
初期接続の接続リトライを行うかどうかを表わすブール値です。
データベースサーバの状態監視オプション[checkServerOption]がmonitorの場合に有効となります。データベースサーバの状態監視間隔 [checkServerInterval]で指定された値がリトライ間隔として使用されます。
true
空きコネクション取得時の待ち合わせ時間
[waitFreeConnTimeout]
最大プール数のJDBCコネクションが全て使用中の場合に、空きコネクションが取得できるまで待ち合わせる時間(単位:秒)です。 15


1.8.2.3. コネクション制御設定項目一覧

Dottedname : server.resources.jdbc-datasource.datasource-name

表1.8.2.3-1
属性名
[attribute-name]
説 明 既定値
ステートメントの最大プール数
[maxStatements]
ステートメントの最大プール数です。
0を設定した場合、プール管理は行われません。設定可否はdataSourceType毎に異なります。
0
ログインタイムアウト
[loginTimeout]
JDBCコネクション接続時のタイムアウト値(単位:秒)です。
0を設定した場合、タイマ監視は行われません。
0
接続リトライ回数
[connectRetryMax]
JDBCコネクションの取得に失敗した場合の、接続リトライ回数です。
0を設定した場合、リトライは行われません。
0
接続リトライ間隔
[connectRetryInterval]
JDBCコネクションの取得に失敗した場合の、接続リトライ間隔(単位:秒)です。 10
自動コミットのデフォルト値
[defaultAutoCommit]
JTA(EJB)のトランザクションを実行しない場合の、自動コミットのデフォルト値です。
JTA(EJB)のトランザクションを実行する場合、自動コミットは必ず自動的にfalseになります。
true
コネクション解放までの待ち合わせ時間
[shrinkDelayTime]
minPoolSizeを超えて払い出されたJDBCコネクションを解放するまでの待ち時間(単位:秒)です。
JDBCコネクションは、指定された時間が経過した後で、クローズした時、または、トランザクションが完了した時に解放されます。
15
クエリタイムアウト
[queryTimeout]
java.sql.Statementに指定するクエリのタイムアウト時間(単位:秒)です。
タイムアウト値は、java.sql.Statementを生成する際に設定されます。そのため、使用中のjava.sql.Statementには設定変更が反映されません。
0
ソケットの読み取りタイムアウト
[readTimeout]
ソケットの読み取りタイムアウト時間です。
このプロパティは、Oracle(10g R2以降)かDB2のJDBCドライバを利用する場合に有効となります。値が0の場合、タイムアウトは発生しません。
0
JDBCドライバの独自プロパティ
[driverVenderProperties]
JDBCドライバの独自プロパティの名前と値の組み合わせです。カンマ(,)区切りの文字列で指定します。コネクションプロパティの詳細については、各JDBCドライバのマニュアルを参照してください。

各JDBCドライバでのコネクションプロパティの設定は以下の通りです。

Oracle JDBC ドライバの場合
oracle.jdbc.pool.OracleDataSource クラスの setConnectionProperties メソッドの Properties パラメータにおける名前と値の組み合わせのプロパティとして指定します。 メソッドの詳細については、Oracle JDBC API リファレンス を参照してください。

Sybase JDBC ドライバの場合
com.sybase.jdbcx.SybDataSource クラスの setConnectionProperties メソッドの Properties パラメータにおける名前と値の組み合わせのプロパティとして指定します。 メソッドの詳細については、Sybase JDBC API リファレンス を参照してください。

データソース種別がJDBCの場合
DriverManager クラスの Connect メソッドの Properties パラメータにおける名前と値の組み合わせのプロパティとして指定します。


具体的な設定例は以下に示します。
  • Oracle JDBCドライバの使用時に、ソケット読み取りタイムアウトプロパティやTCP_NODELAYプロパティを指定する場合
    oracle.jdbc.ReadTimeout=10000,oracle.jdbc.TcpNoDelay=true

  • DB2 JDBCドライバの使用時に、ソケット読み取りタイムアウトプロパティや SSL接続プロパティを指定する場合
    blockingReadConnectionTimeout=30,sslConnection=true
なし
トランザクション遮断レベル
[transactionIsolationLevel]
使用するトランザクション遮断レベルです。java.sql.Connectionで定義されたレベルに加えて、JDBCドライバベンダの独自レベルも指定できます。値が0の場合、トランザクション遮断レベルを設定しません。 0


1.8.2.4. 拡張設定項目一覧

Dottedname : server.resources.jdbc-datasource.datasource-name

表1.8.2.4-1
属性名
[attribute-name]
説 明 既定値
コネクションのガベージコレクト機能の動作オプション
[checkGarbageOption]
JDBC Connectionオブジェクトの、ガベージコレクト機能における動作オプションです。次のいずれかを設定します。

close
ガベージコレクトの対象となったJDBCコネクションを切断します。

rollback
ガベージコレクトの対象となったJDBCコネクションを切断します。また、自動コミットにfalseが指定された状態でローカルトランザクションを実行していた場合は、ロールバックを発行します。

debug
rollbackが設定された時と同じ動作を行います。また、ガベージコレクトの対象となったJDBCコネクションがアプリケーションに払い出された際のスタックトレースを次のいずれかのログに出力します。
<WebOTXインストールディレクトリ>/domains/domain1/logs/jdbc/webotx_jdbc.log*
<WebOTXインストールディレクトリ>/domains/domain1/logs/tpsystem/<アプリケーショングループ名>/<プロセスグループ名>/*.log*

none
この機能を無効にします。

自動コミットにtrue(デフォルト値)が設定された状態でローカルトランザクションを実行する場合や、JTA(EJB)のトランザクションを実行する場合、rollbackを指定する必要はありません。closeを指定してください。
その他の場合は、トランザクションが中途半端な状態でコミットされないようにするため、rollbackを指定してください。
none
コネクションのガベージコレクト間隔
[checkGarbageInterval]
java.lang.System.gc()を呼び出す間隔(単位:秒)です。
gc()を呼び出すことで、何処からも参照されていないConnectionオブジェクトがガベージコレクトの対象となるように促します。0が設定された場合、または、checkGarbageOptionの値がrollbackまたはdebugでない場合は、gc()を呼び出しません。
checkGarbageOptionで設定された動作の実行契機は、ガベージコレクタの実行契機次第ですので、即時性を保障できません。このため、コミットやロールバックの発行が漏れた際に、そのまま次のトランザクションが実行されてデータベース側のロック解除待ちとなり、長時間応答が返らない可能性があります。そうした障害を回避するためには、このパラメータを指定してください。ただし、System.gc()の呼び出しには、メモリの使用状況に応じてかなりの時間を要するため、少なくとも分単位の値を指定した上で、十分な評価を行ってください。
0
データベースサーバの状態監視オプション
[checkServerOption]
データベースサーバの状態監視オプションです。
JDBCデータソースでは、データベースサーバの状態監視コマンドを発行することでデータベースサーバの状態を確認し、無効となったJDBCコネクションを取り除きます。次のいずれかを設定します。

monitor
定期的にデータベースサーバの状態を確認します。

method
JDBCコネクションを払い出す度に、データベースサーバの状態を確認します。

none
この機能を無効にします。
none
データベースサーバの状態監視間隔
[checkServerInterval]
checkServerOptionmonitorを指定した時の監視間隔(単位:秒)です。 180
データベースサーバの状態監視コマンド
[checkServerCommand]
データベースの状態監視のために使用するSQL命令です。SELECT命令など、ロックの競合が発生しないSQL命令を指定してください。

connectを指定すると、状態監視の度にJDBCコネクションが新規に接続されます。接続時に障害を検出するまでの間隔は、loginTimeoutで調整することができます。
なお、resetAllConnectionsOnFailurefalseの場合やcheckServerOptionmethodの場合は、connect の指定は有効になりません。その場合は、commitが実行されます。
connectを指定する場合、通信障害を引き起こす可能性があるため、checkServerIntervalの間隔を短くし過ぎないように注意してください。
commit
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
JTA(EJB)のトランザクション毎に1つの物理コネクションを使用するかどうかを表わすブール値です。
設定可否はdataSourceType毎に異なります。JTAのトランザクションで、同一データベースに対する複数のJDBCコネクションを同時に利用する場合、trueを設定してください。 EJBからさらに別のEJBを呼び出す場合には、一部のトランザクション制御のシーケンスが省略され、性能が改善される可能性があります。
false
データベースクラスタの使用有無
[useDatabaseCluster]
データベースのクラスタ構成サポート機能の使用有無を表わすブール値です。設定可否はdataSourceType毎に異なります。 false
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを表わすブール値です。 false
コネクションプールのクラスタ動作オプション
[clusterPoolOption]
コネクションプールのクラスタ制御機能における動作オプションです。次のいずれかを設定します。

roundrobin
アプリケーションからの要求時に、複数のコネクションプールからラウンドロビンにJDBCコネクションを払出します。

standby
通常、接続するデータベースサーバとのコネクションプール(稼動系)のほかに、別のデータベースサーバとのコネクションプール(待機系)を保持しておきます。 稼動系サーバの障害を検知した場合は、待機系のコネクションプールからJDBCコネクションを払い出します。

none
この機能を無効にします。
none
クラスタ対象のJDBCデータソース名リスト
[clusterPoolNames]
コネクションプールのクラスタ対象となるJDBCデータソース名のリストです。
クラスタ対象とするJDBCデータソース名を、カンマ区切りの文字列で指定します。この設定は、clusterPoolOptionが、none以外の場合に有効です。
なし
障害時の再接続処理ポリシー
[validAllClusterConnectionsOnFailure]
クラスタ対象のコネクションプールが全て障害となった場合に、全てのプールに対して再接続リトライ処理を行うかどうかを表すブール値です。次のいずれかを設定します。

true
接続が成功するまで、全てのコネクションプールに対して再接続リトライ処理を行います。

false
1つのコネクションプールで再接続リトライ処理を行います。

この設定は、clusterPoolOptionが、none以外の場合に有効です。
false
クラスタプールの重み
[clusterPoolWeight]
clusterPoolOptionroundrobinの場合に、同じデータベースサーバを連続して呼び出す回数です。重みが高く設定されたJDBCデータソースの使用頻度が高くなり、そのデータソースのコネクションを優先的に払い出すことができます。 1


1.8.2.5. SQLランキング設定項目一覧

Dottedname : server.resources.jdbc-datasource.datasource-name

表1.8.2.5-1
属性名
[attribute-name]
説 明 既定値
SQLの最大ランキング数
[maxSqlRankingCount]
SQL性能のランキング情報をダンプする際に、ログに出力するランキングの数の上限です。
ランキング情報は、JDBCデータソースのモニタリングレベルとしてHIGHが設定されている場合に出力されます。
20
最大SQL文字列長
[maxSqlTraceLength]
SQL性能のランキング情報をダンプする際に、ログに出力するSQL文字列のバイト数(単位:バイト)の上限です。
1024
ステートメントのラップ有無
[wrapStatement]
java.sql.StatementをWebOTXの実装クラスでラップするかどうかを表すブール値です。
JDBCデータソースのモニタリングレベルがHIGHに変更されると、SQLのランキング情報や統計情報を採取するため、java.sql.Statement がWebOTXの実装クラスでラップされます。 その際、プール済みのJDBCコネクションが切断されたり、アプリケーションが使用中のjava.sql.StatementでSQLランキング情報を採取できないことがあります。 そうした状況を避けるためには、情報採取前にtrueを指定しておいてください。また、JDBC仕様のメジャーバージョン[jdbcMajorVersion]には、JDBCドライバがサポート する正しいバージョンを指定してください。
false


1.8.2.6. ACOS Access Toolkit設定項目一覧

Dottedname : server.resources.jdbc-datasource.datasource-name

表1.8.2.6-1
属性名
[attribute-name]
説 明 既定値
定義ファイルの格納ディレクトリ名
[iPXdaConfigDirectoryName]
ACOS Access Toolkitが使用する定義ファイルの格納ディレクトリ名です。
JavaVM内で最初に使用された値が有効になります。このため、複数のJDBCデータソースを使用する際は、設定値を統一してください。
$INSTANCE_ROOT
/config/iPXda
動作環境定義ファイル名
[iPXdaConfigFileName]
ACOS Access Toolkitが使用する動作環境定義ファイル名です。
JavaVM内で最初に使用された値が有効になります。このため、複数のJDBCデータソースを使用する際は、設定値を統一してください。
DataAccessEnvConfig.xml
トランザクション定義ファイル名
[iPXdaInvokeConfigFileName]
ACOS Access Toolkitが使用するトランザクション定義ファイル名です。
JavaVM内で最初に使用された値が有効になります。このため、複数のJDBCデータソースを使用する際は、設定値を統一してください。
DataAccessTrnsConfig.xml
オプション定義ファイル名
[iPXdaOptionConfigFileName]
ACOS Access Toolkitが使用するオプション定義ファイル名です。
JavaVM内で最初に使用された値が有効になります。このため、複数のJDBCデータソースを使用する際は、設定値を統一してください。
AAT.properties

そのほかに、アプリケーションプロセスにおけるリソースのロード設定に関する属性があります。詳細は、「1.18. リソースのプロセス単位のロード設定(Standard/Enterprise の場合)」を参照してください。


1.8.2.7. プロパティ一覧

Dottedname : server.resources.jdbc-datasource.datasource-name.property

表1.8.2.7-1
プロパティ名 説 明 既定値
jdbcDriverName データソースタイプがJDBCの場合にロードされる、JDBCドライバのクラス名です。 自動設定
networkProtocol データベースとの通信プロトコルを表わす文字列です。dataSourceTypeの値に応じて初期値が設定されます。 dataSourceType毎の設定を参照してください
useStaticPool JDBCコネクションの共有範囲を表わすブール値です。

true
同一プロセス内のJDBCデータソース間でJDBCコネクションを共有します。

false
JDBCデータソースのインスタンス間でJDBCコネクションを共有しません。
true
cursorMode データベースカーソルの利用有無を表わす文字列です。次のいずれかを設定します。 設定可否はdataSourceType毎に異なります。

cursor
データベースカーソルを利用します。

direct
データベースカーソルを利用しません。
cursor
characterEncoding 文字列引数を送信する際の変換方法を表わす文字列です。次のいずれかを設定します。 設定可否はdataSourceType毎に異なります。

Unicode
Unicodeの文字列をそのまま送信します。

Default
データベースのデフォルトのcharacter encodingに従って変換した文字列を送信します。
Default
logLevel JDBCデータソースがAPサーバプロセス外で動作する際のログ出力レベルです。次のいずれかを設定します。

info
動作に関する重要な情報を標準出力に出力します。

debug
動作に関する主な情報を標準出力に出力します。

trace
トレース情報を標準出力に出力します。

test
全ての情報を標準出力に出力します。

none
ログを全く出力しません。
info
autoRecoveryOnOnePhaseCommit 2フェーズコミットで、dataSourceTypeの値がJDBCであるコネクションに対するコミットが失敗した場合に、トランザクション全体を自動的にロールバックするかどうかを表わすブール値です。
コミットが失敗した場合の結果は、通常ロールバックされた状態になりますが、データベースサーバ側でのコミット処理完了後に通信障害が発生した場合など、稀にコミットされていることがあります。 対策としては、この設定にfalseを設定することで自動的にロールバックされないようにしておき、コミットの結果をJDBCドライバやデータベースが提供する運用操作や例外メッセージに従って確認した上で、 トランザクションを復旧してください。トランザクションの復旧操作については、「ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.4. Transactionサービス」を参照してください。

true
トランザクション全体を自動的にロールバックします。

false
トランザクションの完了処理を保留します。
true
jndiProviderUrl JNDIプロバイダのURLです。clusterPoolOptionnone以外で、リモートのJNDIサーバと接続する場合に設定します。

 例:corbaname://hostname1
なし
asyncCloseOnFailure 無応答障害など、復旧に時間がかかる障害発生時に、時間がかかるコネクションのクローズ処理を、アプリケーションの動作スレッドとは別のスレッドで非同期に行うかどうかのブール値です。 true
asyncCloseEnableTime 復旧に時間がかかる障害とみなす時間(単位:秒)です。このプロパティは、asyncCloseOnFailuretrueの場合に有効です。 この時間と、トランザクション制御やデータベースサーバの状態監視でかかった時間を比較して、復旧に時間がかかる障害かどうかを判断します。 60


1.8.2.8. Javaシステムプロパティ一覧

Javaのシステムプロパティに、次の項目を設定することができます。JDBCデータソースのMOを介して設定する項目に優先する、プロセス内共通の設定となります。 参照および設定方法の詳細は、[ドメイン構築・基本設定ガイド > 3. ドメイン > 3.8. Java VMオプションの設定 > 3.8.2. ユーザ独自のJava VMオプションの追加方法] を参照してください。

通常のログ出力内容の設定方法については、 「ドメイン構築・基本設定ガイド > 8. ログ」を参照してください。

表1.8.2.8-1
プロパティ名 説 明 既定値
wojdbc.Log 設定内容は、logLevelプロパティと同様です。 none
wojdbc.CheckGarbageOption 設定内容は、checkGarbageOptionと同様です。 none
wojdbc.CheckGarbageInterval 設定内容は、checkGarbageIntervalと同様です。 0
wojdbc.CursorMode 設定内容は、cursorModeプロパティと同様です。 cursor
wojdbc.CharacterEncoding 設定内容は、characterEncodingプロパティと同様です。 Default
wojdbc.MaxIdleTime 設定内容は、maxIdleTimeと同様です。 0
wojdbc.disableOracleUCP Oracle Universal Connection Pool(UCP)のクラスを検索する処理を無効にするかどうかのブール値です。

true
Oracle UCPを使用しません。

false
Oracle UCPのクラスがクラスパスに存在する場合、優先的に使用します。
false
wojdbcdriver.Log JDBCデータソースがAPサーバプロセス外で動作する時、JDBCドライバAPIのトレース情報を採取する際のログ出力レベルです。次のいずれかを設定します。

info
SQLExceptionのメッセージを出力する。また、例外を検出した際に、ConnectionとDatabaseMetaDataのトレース情報、キャッシュしておいたデータ更新にかかわるログを出力する。

debug
infoレベルでの出力内容に加えて、Statement、PreparedStatement、CallableStatement、ResultSetのトレース情報を出力する。 また、正常時のConnectionとDatabaseMetaDataのトレース情報を出力する。

trace
debugレベルでの出力内容に加えて、SQLExceptionのスタック情報を出力する。

test
traceレベルでの出力内容に加えて、maxSqlTraceLengthのチェックを行わずに全ての文字列データを出力する。

none
JDBCドライバAPIのトレース情報を全く出力しません。
none


1.8.3. Oracleでの設定内容

OracleのJDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_Oracle を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

表1.8.3-1
属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
次のようなデータベースとの接続文字列を設定します。
"jdbc:oracle:thin:@host:1521:orcl"
"jdbc:oracle:oci:@orcl"


記述内容の詳細については、Oracleのマニュアルをご確認ください。
←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンを設定します。
234を設定します。
←(同じです)
JDBC仕様のマイナーバージョン
[jdbcMinorVersion]
JDBC仕様のマイナーバージョンを設定します。
JDBC仕様のバージョンが4.1の場合に1を設定します。
←(同じです)
サーバ名
[serverName]
---(設定しません) ←(同じです)
ポート番号
[portNumber]
---(設定しません) ←(同じです)
ステートメントの最大プール数
[maxStatements]
プールするステートメントの最大数を設定します。 ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
ソケットの読み取りタイムアウト
[readTimeout]
ソケットの読み取りタイムアウト時間を設定します。値が0の場合、タイムアウトは発生しません。 ←(同じです)
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
JTAのトランザクション毎に1つの物理コネクションを使用するかどうかを設定します。 ---(設定しません)
データベースクラスタの使用有無
[useDatabaseCluster]
Oracle RACを利用し、かつ、2フェーズコミットを行う場合にtrueを設定します。 ---(設定しません)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)
表1.8.3-2
プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
databaseName TransactionサービスのDB識別名を設定します。通常、設定する必要はありません。 ---(設定しません)
その他 jdbcDriverNameとcursorMode、characterEncoding、networkProtocol、autoRecoveryOnOnePhaseCommit以外のプロパティを、必要に応じて設定します。 ←(同じです)


1.8.4. DB2での設定内容

DB2 Universal JDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_DB2 を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

表1.8.4-1
属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
データベース名を設定します。 ←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
234を設定します。 ←(同じです)
JDBC仕様のマイナーバージョン
[jdbcMinorVersion]
JDBC仕様のマイナーバージョンを設定します。
JDBC仕様のバージョンが4.1の場合に1を設定します。
←(同じです)
サーバ名
[serverName]
データベースサーバ側のサーバ名(TCP/IPホスト名)を設定します。 ←(同じです)
ポート番号
[portNumber]
データベースサーバ側のポート番号を設定します。
デフォルト値は50000です。
←(同じです)
ステートメントの最大プール数
[maxStatements]
---(設定しません) ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
ソケットの読み取りタイムアウト
[readTimeout]
ソケットの読み取りタイムアウト時間を設定します。値が0の場合、タイムアウトは発生しません。 ←(同じです)
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
---(設定しません。必ず、trueとして処理が行われます) ←(同じです)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)
表1.8.4-2
プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
databaseName TransactionサービスのDB識別名を設定します。通常、設定する必要はありません。 ---(設定しません)
その他 jdbcDriverNameとcursorMode、characterEncoding、networkProtocol、autoRecoveryOnOnePhaseCommit以外のプロパティを、必要に応じて設定します。 ←(同じです)


1.8.5. Microsoft SQL Serverでの設定内容

Microsoft SQL ServerのJDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_MSSqlServer を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

表1.8.5-1
属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
データベース名を設定します。 ←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンを設定します。
234を設定します。
←(同じです)
JDBC仕様のマイナーバージョン
[jdbcMinorVersion]
JDBC仕様のマイナーバージョンを設定します。
JDBC仕様のバージョンが4.1の場合に1を設定します。
←(同じです)
サーバ名
[serverName]
データベースサーバ側のサーバ名(TCP/IPホスト名)を設定します。 ←(同じです)
ポート番号
[portNumber]
データベースサーバ側のポート番号を設定します。
デフォルト値は1433です。
←(同じです)
ステートメントの最大プール数
[maxStatements]
---(設定しません) ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
JTAのトランザクション毎に1つの物理コネクションを使用するかどうかを設定します。 ---(設定しません)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)
表1.8.5-2
プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
cursorMode データベースカーソルの利用有無を設定します。
設定値はSelectMethodプロパティ値としてJDBCドライバに設定されます。
←(同じです)
characterEncoding 文字列引数を送信する際の変換方法を設定します。
設定値はUnicodeかどうかを表すブール値に変換され、SendStringParametersAsUnicodeプロパティ値としてJDBCドライバに設定されます。ただし、Microsoft SQL Server 2005のJDBCドライバを使用してJTA連携を行う場合、必ず、Unicodeとして処理が行われます。
←(同じです)
databaseName TransactionサービスのDB識別名を設定します。通常、設定する必要はありません。 ---(設定しません)
その他 jdbcDriverNameとnetworkProtocol、autoRecoveryOnOnePhaseCommit以外のプロパティを、必要に応じて設定します。 ←(同じです)


1.8.6. Sybaseでの設定内容

SybaseのJDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_Sybase を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

表1.8.6-1
属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
データベース名を設定します。 ←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
---(設定しません) ←(同じです)
JDBC仕様のマイナーバージョン
[jdbcMinorVersion]
---(設定しません) ←(同じです)
サーバ名
[serverName]
データベースサーバ側のサーバ名(TCP/IPホスト名)を設定します。 ←(同じです)
ポート番号
[portNumber]
データベースサーバ側のポート番号を設定します。
デフォルト値は6001です。
←(同じです)
ステートメントの最大プール数
[maxStatements]
---(設定しません) ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
JTAのトランザクション毎に1つの物理コネクションを使用するかどうかを設定します。 ---(設定しません)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)
表1.8.6-2
プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
cursorMode データベースカーソルの利用有無を設定します。
cursorを設定した場合、REPEAT_READプロパティ値としてfalseがJDBCドライバに設定されます。
directを設定した場合、REPEAT_READプロパティ値としてtrueがJDBCドライバに設定されます。
←(同じです)
characterEncoding 文字列引数を送信する際の変換方法を設定します。
Unicodeを設定した場合、JCONNECT_VERSIONプロパティ値として 6 がJDBCドライバに設定されます。
←(同じです)
networkProtocol データベースとの通信プロトコルを設定します。デフォルト値はTdsです。 ←(同じです)


1.8.7. SequeLinkでの設定内容

SequeLinkのJDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_SequeLink を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

表1.8.7-1
属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
JDBCEX_SequeLinkを設定します。 ←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンを設定します。
23を設定します。
←(同じです)
JDBC仕様のマイナーバージョン
[jdbcMinorVersion]
---(設定しません) ←(同じです)
サーバ名
[serverName]
データベースサーバ側のサーバ名(TCP/IPホスト名)を設定します。 ←(同じです)
ポート番号
[portNumber]
データベースサーバ側のポート番号を設定します。
デフォルト値は19996です。
←(同じです)
ステートメントの最大プール数
[maxStatements]
プールするステートメントの最大数を設定します。 ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
JTAのトランザクション毎に1つの物理コネクションを使用するかどうかを設定します。 ---(設定しません)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)
表1.8.7-2
プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
networkProtocol SequeLinkサーバとの通信で使用するプロトコルを設定します。デフォルト値はsocketです。SSLを設定することもできます。 ←(同じです)
databaseName TransactionサービスのDB識別名を設定します。通常、設定する必要はありません。 ---(設定しません)
その他 jdbcDriverNameとcursorMode、characterEncoding、autoRecoveryOnOnePhaseCommit以外のプロパティを、必要に応じて設定します。 ←(同じです)


1.8.8. Cloudscapeでの設定内容

CloudscapeのJDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_Cloudscape を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

表1.8.8-1
属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
データベース名を設定します。 ←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンを設定します。
23を設定します。
←(同じです)
JDBC仕様のマイナーバージョン
[jdbcMinorVersion]
---(設定しません) ←(同じです)
サーバ名
[serverName]
---(設定しません) ←(同じです)
ポート番号
[portNumber]
---(設定しません) ←(同じです)
ステートメントの最大プール数
[maxStatements]
---(設定しません) ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
JTAのトランザクション毎に1つの物理コネクションを使用するかどうかを設定します。 ---(設定しません)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)
表1.8.8-2
プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
networkProtocol ---(設定しません) データベースとの通信プロトコルを設定します。
rmiを指定するか指定なしのいずれかです。rmiを指定するとローカルホストのRmiJdbcサーバにデフォルトのポート番号1099で接続します。デフォルト値は指定なしです。
サーバ名とポート番号を指定する場合は"rmi://hostname:port番号/"と記述します。
databaseName TransactionサービスのDB識別名を設定します。通常、設定する必要はありません。 ---(設定しません)
その他 jdbcDriverNameとcharacterEncoding、cursorMode以外のプロパティを、必要に応じて設定します。 ←(同じです)


1.8.9. PostgreSQLでの設定内容

PostgreSQLのJDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_PostgreSQL を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

表1.8.9-1
属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
データベース名を設定します。 ←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンを設定します。
234を設定します。
←(同じです)
JDBC仕様のマイナーバージョン
[jdbcMinorVersion]
JDBC仕様のマイナーバージョンを設定します。
JDBC仕様のバージョンが4.1の場合に1を設定します。
←(同じです)
サーバ名
[serverName]
データベースサーバ側のサーバ名(TCP/IPホスト名)を設定します。 ←(同じです)
ポート番号
[portNumber]
データベースサーバ側のポート番号を設定します。デフォルト値は5432です。 ←(同じです)
ステートメントの最大プール数
[maxStatements]
---(設定しません) ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
---(設定しません。必ず、trueとして処理が行われます) ←(同じです)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)
表1.8.9-2
プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
databaseName TransactionサービスのDB識別名を設定します。通常、設定する必要はありません。 ---(設定しません)
その他 jdbcDriverNameとcursorMode、characterEncoding、networkProtocol、autoRecoveryOnOnePhaseCommit以外のプロパティを、必要に応じて設定します。 ←(同じです)


1.8.10. Apache Derby での設定内容

Apache DerbyのJDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_Derby を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

表1.8.10-1
属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
データベース名を設定します。 ←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンを設定します。
234を設定します。
←(同じです)
JDBC仕様のマイナーバージョン
[jdbcMinorVersion]
JDBC仕様のマイナーバージョンを設定します。
JDBC仕様のバージョンが4.1の場合に1を設定します。
←(同じです)
サーバ名
[serverName]
データベースサーバ側のサーバ名(TCP/IPホスト名)を設定します。 ←(同じです)
ポート番号
[portNumber]
データベースサーバ側のポート番号を設定します。デフォルト値は1527です。 ←(同じです)
ステートメントの最大プール数
[maxStatements]
---(設定しません) ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
JTAのトランザクション毎に1つの物理コネクションを使用するかどうかを設定します。 ←(同じです)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)
表1.8.10-2
プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
databaseName TransactionサービスのDB識別名を設定します。通常、設定する必要はありません。 ---(設定しません)
その他 jdbcDriverNameとcursorMode、characterEncoding、networkProtocol、autoRecoveryOnOnePhaseCommit以外のプロパティを、必要に応じて設定します。 ←(同じです)


1.8.11. JDBC での設定内容

IRS(InfoFrame Relational Store)やMySQLといったそのほかのJDBCドライバを使用する場合、dataSourceTypeプロパティにJDBCを設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

表1.8.11-1
属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
例えば次のような、データベースとの接続文字列を設定します。
"jdbc:oracle:thin:@host:1521:orcl"
"jdbc:oracle:oci:@orcl"
"jdbc:microsoft:sqlserver://host:1433"
"jdbc:sqlserver://host:1433"
"jdbc:db2://host:50000/SAMPLE"
"jdbc:sybase:Tds:host:6001"
"jdbc:sequelink://host:19996"
"jdbc:cloudscape:/opt/cloudscape/tmpdb"
"jdbc::db2j:toursDB"
"jdbc:postgresql://host:4321/dbname"
"jdbc:odbc:dbname"
"jdbc:nec-acos4-dataaccess:dbname"
"jdbc:nec-acos4-dataaccess-ex:dbname"
"jdbc:derby://host:1527/dbname"
"jdbc:ptql://host/dbname"
←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンを設定します。
234を設定します。
←(同じです)
JDBC仕様のマイナーバージョン
[jdbcMinorVersion]
JDBC仕様のマイナーバージョンを設定します。
JDBC仕様のバージョンが4.1の場合に1を設定します。
←(同じです)
サーバ名
[serverName]
---(設定しません) ←(同じです)
ポート番号
[portNumber]
---(設定しません) ←(同じです)
ステートメントの最大プール数
[maxStatements]
---(設定しません) ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
---(設定しません。必ず、trueとして処理が行われます) ---(設定しません)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
定義ファイルの格納ディレクトリ名
[iPXdaConfigDirectoryName]
ACOS Access ToolkitのJDBCドライバを利用する場合に定義ファイルの格納ディレクトリ名を設定します。 ←(同じです)
動作環境定義ファイル名
[iPXdaConfigFileName]
ACOS Access ToolkitのJDBCドライバを利用する場合に動作環境定義ファイル名を設定します。 ←(同じです)
トランザクション定義ファイル名
[iPXdaInvokeConfigFileName]
ACOS Access ToolkitのJDBCドライバを利用する場合にトランザクション定義ファイル名を設定します。 ←(同じです)
オプション定義ファイル名
[iPXdaOptionConfigFileName]
ACOS Access ToolkitのJDBCドライバを利用する場合にオプション定義ファイル名を設定します。 ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
---(設定しません。同一トランザクション内で、複数ユーザのJDBCコネクションを同時に使用することはできません。) ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)
表1.8.11-2
プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
jdbcDriverName dataSourceNameの説明で例示した接続文字列を使用するJDBCドライバの名前は設定する必要がありません。それ以外のJDBCドライバを使用する場合には、JDBCドライバのクラス名を設定します。 ←(同じです)
autoRecoveryOnOnePhaseCommit 2フェーズコミットを実行する場合に、必要に応じて設定します。 ---(設定しません)
その他 cursorModeとcharacterEncoding、networkProtocol、databaseName以外のプロパティを、必要に応じて設定します。 ←(同じです)


1.8.12. クラスパス設定

JDBCデータソースを使用する場合は、使用するデータベースまたはJDBCドライバに応じて次のファイルをクラスパスに追加する必要があります。

クラスパスの設定方法については「ドメイン構築・基本設定ガイド > 3. ドメイン > 3.8. Java VMオプションの設定」を参照してください。設定では、複数バージョンのクラスが混在しないように、必要なファイルだけをクラスパスに追加してください。

表1.8.12-1
データベース または、
JDBCドライバ
ファイル名
Oracle Oracle 12cを使用する場合
ojdbc7.jar ($ORCLE_HOME/jdbc/libを参照)

Oracle 11gを使用する場合
ojdbc6.jar orai18n.jar ($ORCLE_HOME/jlibを参照)

Oracle UCPを使用する場合は、次のjarをクラスパスに追加
ucp.jar ($ORCLE_HOME/ucp/libを参照)
ons.jar ($ORCLE_HOME/opmn/libを参照)

Oracle 10gを使用する場合
ojdbc14.jar orai18n.jar ($ORCLE_HOME/jdbc/libか$ORACLE_HOME/jlibを参照)
DB2 db2jcc.jar db2jcc_license_cu.jar または、db2jcc_license_cisuz.jar
Microsoft SQL Server SQL Server JDBC Driver 2.0を使用する場合
sqljdbc4.jar

SQL Server 2005 JDBC Driverを使用する場合
sqljdbc.jar
Sybase jconn2.jar
SequeLink sljc.jar sljcx.jar
Cloudscape Cloudscapeバージョン5以降の場合
db2j.jar db2jtools.jar

それ以外の場合
RMIを使用しない場合
cloudscape.jar
RMIを使用する場合
cloudclient.jar rmiJdbc.jar
PostgreSQL PostgreSQLバージョン8.1を使用する場合
postgresql-8.1-404.jdbc3.jar

PostgreSQLバージョン8.2を使用する場合
postgresql-8.2-506.jdbc3.jar

PostgreSQLバージョン8.3を使用する場合
postgresql-8.3-603.jdbc4.jar

PostgreSQLバージョン8.4を使用する場合
postgresql-8.4-701.jdbc4.jar

PostgreSQLバージョン9.2.4を使用する場合
postgresql-9.2-1004.jdbc41.jar

(jarファイル名は製品バージョン毎に異なります)
Apache Derby derbyclient.jar
IRS(InfoFrame Relational Store) partiqle-jdbc-2.2.0.jar    partiqle-hadoop-2.2.0.jar
(これらのjarファイルは、クラスパスに自動的に追加されます)

JDBCデータソースで使用するJDBCドライバの主なクラスは次の通りです。

表1.8.12-2
データベース または、
JDBCドライバ
クラス名
Oracle Oracle 12cまたはOracle 11gを使用する場合
oracle.jdbc.xa.client.OracleXADataSource (JTA連携ありの場合)
oracle.jdbc.pool.OracleConnectionPoolDataSource (JTA連携なしの場合)
oracle.jdbc.OracleDriver (データソースの種別がJDBCの場合)
oracle.ucp.jdbc.PoolXADataSourceImpl (Oracle UCPを利用する場合)

それ以外の場合
oracle.jdbc.xa.client.OracleXADataSource (JTA連携ありの場合)
oracle.jdbc.pool.OracleConnectionPoolDataSource (JTA連携なしの場合)
oracle.jdbc.driver.OracleDriver (データソースの種別がJDBCの場合)
DB2 com.ibm.db2.jcc.DB2XADataSource (JTA連携ありの場合)
com.ibm.db2.jcc.DB2ConnectionPoolDataSource (JTA連携なしの場合)
com.ibm.db2.jcc.DB2Driver (データソースの種別がJDBCの場合)
Microsoft SQL Server SQL Server 2005/SQL Server 2008を使用する場合
com.microsoft.sqlserver.jdbc.SQLServerXADataSource (JTA連携ありの場合)
com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource (JTA連携なしの場合)
com.microsoft.sqlserver.jdbc.SQLServerDriver (データソースの種別がJDBCの場合)
Sybase com.sybase.jdbc2.jdbc.SybXADataSource (JTA連携ありの場合)
com.sybase.jdbc2.jdbc.SybConnectionPoolDataSource (JTA連携なしの場合)
com.sybase.jdbc2.jdbc.SybDriver (データソースの種別がJDBCの場合)
PostgreSQL JDBCのメジャーバージョンが4.0以降の場合
org.postgresql.xa.PGXADataSource (JTA連携ありの場合)
org.postgresql.ds.PGConnectionPoolDataSource (JTA連携なしの場合)
org.postgresql.Driver (データソースの種別がJDBCの場合)

JDBCのメジャーバージョンが3.0以前の場合
org.postgresql.xa.PGXADataSource (JTA連携ありの場合)
org.postgresql.jdbc3.Jdbc3ConnectionPool (JTA連携なしの場合)
org.postgresql.Driver (データソースの種別がJDBCの場合)

JDBCのメジャーバージョンが2.0以前の場合
org.postgresql.xa.PGXADataSource (JTA連携ありの場合)
org.postgresql.jdbc2.optional.ConnectionPool (JTA連携なしの場合)
org.postgresql.Driver (データソースの種別がJDBCの場合)
Apache Derby JDBCのメジャーバージョンが4.0以降の場合
org.apache.derby.jdbc.ClientXADataSource40 (JTA連携ありの場合)
org.apache.derby.jdbc.ClientConnectionPoolDataSource40 (JTA連携なしの場合)
org.apache.derby.jdbc.ClientDriver (データソースの種別がJDBCの場合)

JDBCのメジャーバージョンが3.0以前の場合
org.apache.derby.jdbc.ClientXADataSource (JTA連携ありの場合)
org.apache.derby.jdbc.ClientConnectionPoolDataSource (JTA連携なしの場合)
org.apache.derby.jdbc.ClientDriver (データソースの種別がJDBCの場合)
ACOS Access Toolkit com.nec.jp.iPX.da.sql.DataAccessJDBCDriver (データソースの種別がJDBCの場合)
IRS(InfoFrame Relational Store) com.nec.partiqle.jdbc.PartiqleDriver (データソースの種別がJDBCの場合)


1.8.13. その他の設定

OracleのOCI JDBCドライバなど、タイプ2のJDBCドライバを利用する場合には、必要に応じて環境変数の設定作業を行う必要があります。UNIX版では、Javaからロードするnativeのライブラリファイルに適切なアクセス権が付与されていることをご確認ください。 また、EJBのトランザクション(JTA)と連携する場合には、必要に応じてデータベースサーバ側の設定を行う必要があります。詳細は、「注意制限事項 > 6. JDBCデータソース」を参照してください。

そのほか、EJBのトランザクション(JTA)と連携する場合には、「セットアップガイド > 2. インストール > 2.3. インストール後の作業 > 2.3.4. データベースを使用するための準備作業 (Java)」をご覧ください。

1.9. Transactionサービス

Transactionサービス(JTA)に関する設定について説明します。

Transactionサービスに関するコンフィグレーションの設定、および稼動中のトランザクション情報の取得は、基本的には統合運用管理ツール、およびotxadminコマンドを使い、MOを経由して行いますが、いくつかTransactionサービス専用のコマンドも提供しています。前者については次に記述します。コマンドについての詳細は「運用コマンドリファレンスマニュアル」をご参照ください。

また、Transactionサービスでは、実行中のトランザクションに障害が発生した際の復旧処理を行う機能(Recovery Coordination Service:RCS)を提供しています。RCSによるトランザクションの復旧を行うために必要となる、データベースやコネクタリソースの情報定義もここで実施します。

1.9.1. Transactionサービス全般の設定項目・設定方法

Transactionサービスの設定項目については全てMO化されています。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

補足:

設定された属性は以下のディレクトリ配下に格納されます。

${INSTANCE_ROOT}/config/persistent-mbean/transactionservice

このファイルが存在しない場合にドメインを起動すると、Transactionサービスの設定内容は全て既定値で動作します。このファイルが存在する場合にドメインを再起動した場合は、その値がTransactionサービスの設定内容として使用されます。このファイルの内容を手で書き換えることはしないでください。

Transactionサービスで使用する構成情報設定ファイル

Transactionサービスでは、内部で使用するための構成情報設定ファイル、および実行中のトランザクションの状態などを「${INSTANCE_ROOT}/config/TS」ディレクトリにおいています。本ディレクトリ、およびその配下のファイルの削除はしないでください。トランザクションの結果に矛盾が生じる可能性があります。また内容を直接修正することもしないでください。

1.9.2. トランザクション情報の表示

各トランザクションに関する情報を管理するMOの種別は「TSTxInfo」、MOの名前は「トランザクション識別子」となります。

統合運用管理ツールでは、ツリーの「<ドメイン名>」−「アプリケーションサーバ」−「Transactionサービス」−「Transaction情報」−「トランザクション識別子」をクリックすると、トランザクションの状態や識別子名などが右側に表示されます。また、コマンドで各項目を参照するには「server.transactionservice.tstxlist.<トランザクション識別子>」を使用します。例えばトランザクション識別子が「0209210086910000」のトランザクションの場合、「server.transactionservice.tstxlist. 0209210086910000」になります。

コマンドによる項目の参照

項目の参照には、以下のgetコマンドを使用してください。

get server.transactionservice.tstxlist.<トランザクション識別子>.attribute-name

項目の設定

設定可能な項目はありません。

1.9.3. Transactionサービスに関する設定

以下はMOで設定可能トランザクションサービス設定項目の一覧です。

Dottedname : server.transactionservice

表1.9.3-1
項目
[属性名: attribute-name]
説 明 既定値
RCS(C++)ポート番号
[rcs-cpp-port]
C++アプリケーションで動作するトランザクションを管理するプロセス(C++版RCS)が使用するポート番号です。設定可能範囲は1〜65,535です。また一度決定した番号を変えると未完了トランザクションの復旧が失敗することがありますので注意してください。ポート番号を変更する場合は、復旧中のトランザクションが存在しない状態で実施してください。「rcs-cpp-startup」をtrueにした場合は必ず指定する必要があります。なお、Expressでは使われない項目です。
この項目の変更はTransactionサービスの再起動後から有効となります。
5965
C++ AP用のRCSを自動起動する
[rcs-cpp-startup]
C++版RCSプロセスをTransactionサービス起動時に自動的に起動するか指定します。 C++アプリケーションでTransactionサービス(OTS)を利用したトランザクション管理を実施する場合はチェックしてください。
なお、Expressではチェックできません。
この項目の変更はTransactionサービスの再起動後から有効となります。
false (自動起動しない)
Java AP用のRCSを自動起動する
[rcs-java-startup]
Java版RCSプロセスをTransactionサービス起動時に自動的に起動するか指定します。 Java アプリケーションでJTAやTransactionサービス(OTS) を利用したトランザクション管理を実施する場合はチェックしてください。
なお、Expressではチェックできません。
この項目の変更はTransactionサービスの再起動後から有効となります。
true (自動起動する)
クライアントトランザクションを動作
[rcs-proxy-startup]
クライアントアプリケーション上で分散トランザクションを開始し、データベースの更新を行う場合はチェックしてください。これによってクライアントアプリケーション障害時に実行中だったトランザクションの復旧をTransactionサービスで自動的に実施します。
この項目の変更はTransactionサービスの再起動後から有効となります。
false (自動起動しない)
トレース情報出力先ディレクトリ
[trace-file-path]
Transactionサービスに関連するプロセスによって出力されるトレースファイルの出力先ディレクトリ名です。ファイルは3種類存在しますが、ファイルごとに出力先を変えることはできません。またファイル名自体を変更することもできません。
この項目の変更はRCSプロセスについてはTransactionサービスの再起動後から、AP上で動作するTransactionサービス機能については設定直後に起動したものから有効となります。
ディレクトリは存在するものを指定してください。
${INSTANCE_ROOT}
/logs/TS
トレースファイルサイズ
[trace-size]
Transactionサービスで出力するトレースファイルのサイズです。設定可能範囲は128〜512,000(KB)です。ファイルは3種類存在しますが、ファイルごとにサイズを変えることはできず、変更は3ファイル全てに適用されます。
この項目の変更はRCSプロセスについてはTransactionサービスの再起動後から、AP上で動作するTransactionサービス機能については設定直後に起動したものから有効となります。
1024(KB)
トレースレベル
[trace-level]
Transaction サービスで出力するトレースのレベルです。設定可能範囲は0(エラーレベル)〜5(デバッグレベル)です。この項目の変更は設定直後に有効となります。なおファイルは3種類存在しますが、ファイルごとにレベルを変えることはできず、変更は3ファイル全てに適用されます。 2
トレースファイル初期化
[trace-init]
Transactionサービス開始時にトレースファイルの内容を初期化するかどうかです。"true"あるいは"false"を指定します。ファイルは3種類存在しますが、ファイルごとに属性を変えることはできず、変更は3ファイル全てに適用されます。
この項目の変更はRCSプロセスについてはTransactionサービスの再起動後から、AP上で動作するTransactionサービス機能については設定直後に起動したものから有効となります。
false (初期化しない)
コミットリトライ回数
[retry-num]
トランザクションのコミットが失敗した際のリトライ回数です。この回数分リトライを実施しても状況が変わらない場合、トランザクションサービスが自動的にトランザクションの状態をヒューリスティックに設定します。設定可能範囲は0〜32767回です。
この項目の変更は設定直後に有効となります。
5(回)
コミットリトライ間隔
[retry-interval]
コミットリトライの時間間隔です。設定可能範囲は2〜32767秒です。
この項目の変更は設定直後に有効となります。
600(秒)
トランザクションタイムアウト時間
[tx-timeout]
トランザクションのタイムアウト時間です。
トランザクションを開始してからこの時間が経過してもトランザクションのコミットまたはロールバック処理が開始されない場合は、トランザクションサービスが自動的にロールバック処理を実施します。設定可能範囲は0〜32767秒です。また0秒を指定した場合、タイムアウトは発生しません。
この項目の変更は設定直後に有効となります。
600(秒)
トランザクション復旧開始時間
[recover-start-timer]
復旧したトランザクションについて、復旧が完了してから自動的に完了処理を開始するまでの時間を設定します。設定可能範囲は0〜32767秒です。
この項目の変更は設定直後に有効となります。
60(秒)
リソース復旧開始時間
[recovery-time]
障害などによって、トランザクションマネージャからリソースへの指示(commit,rollback,forget要求)が出されない場合に、リソースが自動的に復旧を開始するまでの時間を指定します。
設定可能範囲は0〜32767秒です。0はタイムアウトなしを意味します。
この項目の変更は設定直後に有効となります。
60(秒)
リソース復旧間隔時間
[recovery-interval]
リソースが復旧に失敗した場合に、次に復旧処理をリトライするまでの間隔を指定します。
設定可能範囲は0〜32767秒、既定値は2秒です。
この項目の変更は設定直後に有効となります。
2(秒)
永続ファイルのサイズ
[persistent-file-size]
永続ファイルのサイズ(Rcm*.dat/Tx*.dat/database*.dat)を指定します。
設定可能範囲は1024〜2,097,151(KB)です。
1024(KB)

Dottedname : server.transactionservice.tstxlist

表1.9.3-2
項目
[属性名: attribute-name]
説 明 既定値
トランザクション情報採取レベル
[monitor-level]
Transactionサービスに関する統計情報採取レベルです。ここでは参照のみ可能です。
設定については、統合運用管理ツールでは「モニタリングサービス」- 「モジュールモニタリングレベル」ツリーをクリックした際に右側に表示される、「transactionserviceモニタリングレベル」で行うことができます。otxadminコマンドでも設定可能ですが、方法については「ドメイン構築・基本設定ガイド > 3. ドメイン > 3.9. 統計情報の取得」を参照してください。
この項目の変更は設定直後から有効となります。
0(モニタ情報を採取しない)

Dottedname : server.transactionservice.tstxlist.<トランザクション識別子>

これらの値は全て参照のみ可能です。

表1.9.3-3
項目
[属性名: attribute-name]
説 明 既定値
トランザクション識別子[stxid] Transactionサービスの内部でそれぞれのトランザクションを一意に識別するために払い出した数字です。 無し
状態[status] トランザクションの状態を表します。それぞれの詳細については「リファレンス集 開発編(共通) > 4. CORBA > トランザクションの状態一覧」をご参照ください。 無し
開始時間[starttime] トランザクションを開始した日時です。 無し
Otid[otid] DBMS側でトランザクションを管理するのに使われる一意の識別子です。 無し
所有者[owner] トランザクションの管理を行っているのがどこかをあらわします。「Active」あるいは「Recover」のいずれかが表示されます。通常トランザクションはAPの内部で管理されます。その場合は「Active」と表示されます。ただしトランザクションが完了しないうちにAPが停止した場合、その管理がRCSプロセスに移管され、完了処理を自動的に継続します。この場合「Recover」と表示されます 無し

1.9.4. リソースを管理するためのコマンド

2フェーズコミットの途中で障害が発生した場合、Transactionサービスは、トランザクションのリカバリ処理を実行します。リカバリ処理で使用するデータベースやコネクタリソースの情報を、Transactionサービスのリソースとして定義します。

Javaアプリケーション用のリソース

JDBCデータソースやコネクタリソース、JMSのコネクションファクトリリソースへの参照情報(JNDIサーバへの登録名と、上書き設定するユーザ名およびパスワード)を、TransactionサービスのJDBCリソースまたはJCAリソースに設定します。

JDBCリソースは、「JDBCデータソースのテスト」操作を行った時や、トランザクション実行時に自動的に生成されます。自動生成されたJDBCリソースをそのまま使用する場合は、「セットアップガイド > 2. インストール > 2.3. インストール後の作業 > 2.3.4. データベースを使用するための準備作業 (Java)」に記載されているトランザクションのリカバリを行うための権限を、JDBCデータソースの定義時に指定したユーザに直接付与してください。リカバリを行う時にだけ特権をもったユーザを使用する場合は、自動生成されたJDBCリソースのユーザ名とパスワードを書き換えてください。

C++アプリケーション用のリソース

TransactionサービスのC++ XAリソースでは、トランザクションのリカバリを行うためだけでなく、アプリケーションからデータベースに接続するための接続情報を設定します。また、アプリケーションから、Oracleのオープン文字列中のユーザ名を使い分ける場合には、オプションとして、AP専用のリソース定義を行うことができます。

TransactionサービスのC++用のリソース定義を行った後は、そのリソースの名前を、「tpsystem.applicationGroups.アプリケーショングループ名.processGroups.プロセスグループ名」で、Transaction Serviceのデータベース識別名として指定します。

これらのリソースについては、以降のMOで設定、または、参照することができます。

JDBCリソース

MO名は、「jdbc-resource.resource-name」です。resource-nameは、JDBCデータソースの名前と同じです。

コマンドで各項目を参照・設定する際は、「server.transaction.service.resources.jdbc-resource.resource-name」という名前を指定します。また、統合運用管理ツールでは、ドメインツリーの「WebOTXAdmin[ホスト名].ドメイン名.server.transactionservice.jdbc-resource.resource-name」を選択します。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

表1.9.4-1
属性名[attribute-name] 説 明 既定値
リソース名[name] JDBCデータソースの参照定義の名前(JDBCデータソースのJNDI名)です。
NULL文字を含め、最大256文字の名前を指定してください。
データソースの種類[dataSourceType]が"JDBC"の場合、そのJDBCデータソースをJDBCリソースとして登録しないでください。
なし
接続状態[status] データベースとの接続状態です。
値は、Opened、Closing、Closedのいずれかになります。トランザクションのリカバリ処理を実行中の場合にstopオペレーションを実行すると、リカバリ処理が完了するまでClosingになります。
なし
ユーザ名[user-name] トランザクションのリカバリを行うための、特別な権限を持ったユーザ名です。 なし
パスワード[password] データベースと接続するためのパスワードです。 なし
JCAリソース

MO名は、「jca-resource.resource-name」です。resource-nameは、コネクタリソースまたはJMSのコネクションファクトリリソースの名前と同じです。

コマンドで各項目を参照・設定する際は、「server.transaction.service.resources.jca-resource.resource-name」という名前を指定します。また、統合運用管理ツールでは、ドメインツリーの「WebOTXAdmin[ホスト名].ドメイン名.server.transactionservice.jca-resource.resource-name」を選択します。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

表1.9.4-2
属性名[attribute-name] 説 明 既定値
リソース名[name] コネクタリソースまたはJMSリソースの参照定義の名前(該当リソースのJNDI名)です。
NULL文字を含め、最大256文字の名前を指定してください。
なし
接続状態[status] コネクタリソースとの接続状態です。
値は、Opened、Closing、Closedのいずれかになります。トランザクションのリカバリ処理を実行中の場合にstopオペレーションを実行すると、リカバリ処理が完了するまでClosingになります。
なし
ユーザ名[user-name] コネクタリソースと接続するためのユーザ名です。 なし
パスワード[password] コネクタリソースと接続するためのパスワードです。 なし
ConnectionRequestInfoの使用有無
[use-con-req-info]
コネクタリソースとの接続で、javax.resource.spi.ConnectionRequestInfoクラスを使用するかどうかを表わすブール値です。デフォルトでは、javax.resource.spi.security.PasswordCredentialクラスを使用します。JMSリソースを使用する場合は、ConnectionRequestInfoクラスを使用しません。 false
ConnectionRequestInfo
クラス名[con-req-info-name]
コネクタリソースとの接続情報を格納するためのConnectionRequestInfoクラスの名前です。コネクタリソースの実装クラスを使用する必要がある場合に、そのクラス名を指定してください。 なし
C++ XAリソース

MO名は、「cppxa-resource.resource-name」です。resource-nameは、C++ XAリソースの名前です。

コマンドで各項目を参照・設定する際は、「server.transaction.service.resources.cppxa-resource.resource-name」という名前を指定します。また、統合運用管理ツールでは、ドメインツリーの「WebOTXAdmin[ホスト名].ドメイン名.server.transactionservice.cppxa-resource.resource-name」を選択します。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

表1.9.4-3
属性名[attribute-name] 説 明 既定値
リソース名[name] C++ XAリソースの名前です。
NULL文字を含め、最大16文字の名前を指定してください。
なし
接続状態[status] データベースとの接続状態です。
値は、Opened、Closing、Closedのいずれかになります。トランザクションのリカバリ処理を実行中の場合にstopオペレーションを実行すると、リカバリ処理が完了するまでClosingになります。
なし
XAリソースタイプ
[xa-resource-type]
データベースまたはメッセージキューベンダが提供するインタフェースの種別を表わす文字列です。値は、次のいずれかになります。

Oracle_XA12C
Oracle 12cのXAインタフェースを使用します。

Oracle_XA11G
Oracle 11gのXAインタフェースを使用します。

Oracle_XA10G
Oracle 10gのXAインタフェースを使用します。

MsSql_XA
Microsoft SQL ServerのXAインタフェースを使用します。

IBMMq_XA
IBM WebSphere MQのXAインタフェースを使用します。


XAインタフェースでは、アプリケーションのメソッドが呼び出される際に、事前に、データベース側のトランザクションが開始されます。
なし
オープン文字列
[open-string]
データベースに接続するために使用する文字列です。
Oracleを使用する場合は、オープン文字列を指定します。オープン文字列の詳細は、Oracleのリファレンスマニュアルを参照してください。IBM WebSphere MQを使用する場合は、キュー管理プログラム名を指定します。Microsoft SQL Serverを使用する場合は、指定しません。
なし
クローズ文字列
[close-string]
クローズ文字列を指定する必要はありません。 なし
AP用C++ XAリソース

MO名は、「cppxa-ap-resource.parent-name.resource-name」です。parent-nameは、上位のC++ XAリソースの名前です。また、resource-nameは、AP用C++ XAリソースの名前です。

コマンドで各項目を参照・設定する際は、「server.transaction.service.resources.cppxa-resource.parent-name.resource-name」という名前を指定します。また、統合運用管理ツールでは、ドメインツリーの「WebOTXAdmin[ホスト名].ドメイン名.server.transactionservice.cppxa-resource.parent-name.resource-name」を選択します。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

表1.9.4-4
属性名[attribute-name] 説 明 既定値
リソース名[name] AP用C++ XAリソースの名前です。
NULL文字を含め、最大16文字の名前を指定してください。
なし
XAリソースタイプ
[xa-resource-type]
データベースまたはメッセージキューベンダが提供するインタフェースの種別を表わす文字列です。値は、次のいずれかになります。

Oracle_XA12C
Oracle 12cのXAインタフェースを使用します。

Oracle_XA11G
Oracle 11gのXAインタフェースを使用します。

Oracle_XA10G
Oracle 10gのXAインタフェースを使用します。

なし
オープン文字列
[open-string]
データベースに接続するために使用する文字列です。
Oracleを使用する場合は、オープン文字列を指定します。オープン文字列の詳細は、Oracleのリファレンスマニュアルを参照してください。
なし
クローズ文字列
[close-string]
クローズ文字列を指定する必要はありません。 なし

1.10. Object Broker

Object Brokerに関する設定について説明します。

なお、下記の場合のObject Brokerの設定項目や設定方法については、関連製品の「Object Broker C++ > 運用ガイド > 1. 環境設定について」を参照してください。ドメイン外で動作するサービスやプロセスとは、WebOTX バージョン5 以前と同様の運用管理方式で動作させたサービスやプロセスのことです。

1.10.1. Object Broker設定項目・設定方法

Object Brokerの設定項目については全てMO化されています。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

1.10.1.1. Object Broker共通の設定項目一覧

以下はMOで設定可能なObject Broker共通の設定項目一覧です。

Dottedname : server.objectbrokerconfig

objectbrokerconfigでの設定項目は、[共通] [Cpp] [Java] の3つの画面(タブ)に分かれています。
共通タブ:Object Broker C++およびObject Broker Javaの共通の設定を行うことができます。
表1.10.1.1-1
属性名
(attribute-name)
説明 既定値
ORBインストール ディレクトリ
(${OrbRoot})
ORBがインストールされているディレクトリをフルパスで表示します。このディレクトリにはconfおよびlogサブディレクトリが必要です。 参照のみ可能な項目です。既定値はありません。
oadを使用
(UseOad)
oadを使用するかどうか指定します。 false
oadのポート番号
(OadPort)
oadが使用するポート番号を指定します。
ORB通信を行うクライアントとサーバ間で同一のポート番号を使う必要があります。
運用開始後にoadのポート番号を変更すると、それ以前に作ったオブジェクトを呼び出すことができなくなります。変更した場合は、システムを再起動してください。
9825
名前サービスが動作しているホスト名
(NameServiceHostName)
名前サーバとoadが動作するホスト名を指定します。 指定なし
リクエスト呼び出しのタイムアウト時間
(RequestTimeout)
メソッド呼び出しの最大待ち時間(0以上の整数)を設定します。0を設定すると処理が戻ってくるまで待ち続けます。 30(秒)
クライアント無通信監視タイマ(ClientAutoTimeout) クライアント側で一定時間送受信要求の無いコネクションを監視するタイマ値(秒)を指定します。指定されたタイマ値の間メッセージの送受信を行わなかったクライアントコネクションは切断されます。既定値は0で、この場合、無通信監視は行いません。 0
コネクションの最大接続数
(MaxConnection)
コネクションの最大接続数(0以上の整数)を設定します。この設定がないとき、および、0を設定したときは上限を設定しません。 0
corbalocサーバ呼び出し時の動作
(CorbalocAskWithMT)
初期サービスのアドレスを複数指定した場合のcorbalocサーバ呼び出し時の動作を選択します。
true - マルチスレッドによる同時処理
false - 順次処理(既定値)
キャッシュ名前サービスを利用する場合は、trueを指定して同時処理を選択してください。
false
インタオペラブル名前サービスで使用するデフォルトのポート番号
(CorbalocDefaultPort)
インタオペラブル名前サービス利用時のURL記述でポート番号を指定しなかったときに使用するポート番号を指定します。 2809
リファレンス生成時に格納するホスト名
(AlternativeHostName)
リファレンス生成時に格納するホスト名を指定します。
ドメインのホスト名(domain.hostname)にlocalhost(デフォルト)以外のホスト名が指定された場合、この設定が上書きされます。このため、この設定を変更した後でドメインのホスト名を設定すると値が書き換わってしまいますので注意してください。
指定なし
AlternativeHostNames IORに設定されているホスト名(またはIPアドレス)がこのプロパティで指定された値に含まれていて、かつ、呼び出し先のCORBAオブジェクトが同一プロセス内で動作していれば、ローカルスタブで呼び出しを実行します。
複数の指定をする場合は、コロン (:) で区切って記述します。
指定なし
MultiConnection オブジェクトリファレンスが多重化されている場合に、クライアント側でコネクションの多重化を行うかどうかを指定します。
多重化を行う場合は true を指定します。多重化を行わない場合は false を指定します。
true
ConnectionRoundRobin オブジェクトリファレンスが多重化されている場合に、ラウンドロビンにより呼び出しを各サーバに振り分けるかどうかを指定します。 true
インタフェースリポジトリが動作するホスト名
(InterfaceRepositoryHost)
インタフェースリポジトリが動作するホスト名を指定します。 指定なし
プールスレッド数
(PoolThreadNumber)
クライアントからの要求を並行処理(同時処理)するプールスレッド数(1以上)を指定します。 10
GIOPのマイナー番号
(GIOPMinorVersion)
クライアントがサーバに送信する要求メッセージのGIOPバージョンのマイナー番号には、サーバがIORのIIOPプロファイルに格納したIIOPバージョンのマイナー番号を使います。GIOPMinorVersion を指定すると、この要求メッセージのGIOPバージョンのマイナー番号を変更することができます。ただし、GIOPMinorVersion で指定した値よりもサーバがIORのIIOPプロファイルに格納したIIOPバージョンのマイナー番号のほうが小さい場合、サーバが格納した番号が優先されます。

GIOPMinorNumberに設定可能な値を以下に示します。
・ GIOP1.0を使用
・ GIOP1.1を使用
・ GIOP1.2を使用(既定値)
GIOP1.2を使用
IIOPのマイナー番号
(IIOPMinorVersion)
IIOPMinorVersionには、サーバがIORのIIOPプロファイルに格納するIIOPバージョンのマイナー番号を指定します。

IIOPMinorNumberに設定可能な値を以下に示します。
・ IIOP1.0を使用
・ IIOP1.1を使用
・ IIOP1.2を使用(既定値)
IIOP1.2を使用
TCPバックログの指定
(ListenBackLog)
TCPバックログ(接続要求の待ち行列の最大長)を指定します。 0
TCP_NODELAYソケットオプション
(TCPNODELAY)
TCP_NODELAYソケットオプションの指定を選択します。
true(既定値) - 有効
false - 無効
TCP_NODELAYソケットオプションが無効な場合、TCPプロトコルのアルゴリズムにより、送信データがある一定量溜まるまで送出が遅延することがあります。
既定値trueのままであれば、送出が遅延することはありません。
true
クライアント端末に公開するサーバのホスト名
(ExternalHostName)
負荷分散装置や、クラスタ構成での仮想化のための、クライアント端末に公開するIPアドレスまたはホスト名を指定します。サーバ側で指定すると、全てのクライアント端末で有効になります。この設定は、ローカルマシン内でのEJBやCORBAの通信では使用されません。このため、設定されたホスト名が有効になっていなくても、サーバマシン内でEJBやCORBAの通信を行うことができます。
リファレンスを作る際、指定されたアドレスが、AlternativeHostNameより優先して格納されます。また、指定されたアドレスと自ホストのアドレスを、内部で自動的にAlternativeHostNamesプロパティに設定しています。
指定なし

1.10.1.2. Object Broker C++の設定項目一覧

C++タブ :Object Broker C++の設定を行うことができます。
表1.10.1.2-1
属性名
(attribute-name)
説明 既定値
CppCodeSetNegotiationStrict
Check
GIOP バージョン 1.0 で通信を行う場合、および、コードセットのネゴシエーション機能を持たない ORB と通信を行う場合に、通信するデータに wchar 型もしくは wstring 型が含まれていたとき、CORBA 仕様に準拠してアプリケーションに例外を返却するかどうかを指定します。
true を指定した場合は、通信するデータに wchar 型もしくは wstring 型が含まれていた場合、アプリケーションに例外を返却します。
false を指定した場合は、wchar 型もしくは wstring 型のコードセットに UCS2L1 を使用して通信します。
既定値はfalseです。
false
ConnectionRoundRobinTimeout 多重化使用時に個々のサーバへのメソッド呼び出しにかかる最大待ち時間(0以上の整数)を設定します。また0を設定した時は処理が戻ってくるまで待ち続けます。 30
ConnectionWatchInterval 多重化されたオブジェクトのコネクションの状態を監視する間隔時間(0 以上の整数)を秒単位で設定します。ただしMultiConnection が有効でない場合は、意味を持ちません。 300
CppConversionCodeSets string 型のコンバージョンコードセットの指定 JIS_eucJP,ISO8859-1,ISO646
(Windows)

OSF_SJIS1,ISO8859-1,ISO646
(HP-UX, Solaris, Linux)
CppConversionCodeSetsW wchar/wstring型のコンバージョンコードセットの指定 UTF16
GetHostNameCache falseを指定するとIP アドレスの解決に毎回gethostbyname を使います。trueを指定したときは同一ホスト名に対して1 プログラムからは1 回しかgethostbyname を呼び出しません。 true
LoggingLevel 例外として返せないエラーなどの情報をロギングファイルに出力するときの出力レベルです。ERROR を指定するとエラー情報のみを出力します。WARNING を指定するとエラーとワーニングの情報を出力します。INFORMATION を指定すると全ての情報を出力します。 ERROR
LoggingOutput ロギングファイル名を指定します。 指定なし
LogLimit 各ログファイルの上限値(キロバイト)を指定します。ログファイルのサイズがこの値を超えると、新しいログファイルが作成されます。古いログファイルは、< ログファイル名_old > として保存されます。 10240
LogicalHostName MC/SG によって多重化されたオブジェクトとして動作させるときの論理ホスト名を指定します。 指定なし
LogicalIPAddress MC/SG によって多重化されたオブジェクトとして動作させるときの論理IP アドレス(ドット('.')区切りの文字列)を指定します。 指定なし
NameServiceDuplicationAware true を指定するとCORBA::ORB::__duplication_aware(1)で名前サーバを動作させます。つまり、MC/SG により多重化された論理ホスト上の名前サーバとして動作します。この指定を行ったときはLogicalHostName およびLogicalIPAddress の指定も必要となります。false の場合は物理ホスト上の名前サーバとして動作します。 false
NativeCodeSet string 型のネイティブコードセットの指定 OSF_SJIS1
(Windows)

JIS_eucJP
(HP-UX, Solaris, Linux)
NativeCodeSetW wchar/wstring型のネイティブコードセットの指定 UCS2_LEVEL1
MesBufNum 初期メッセージバッファの分割されたメモリ領域個数を指定します。 1
MesBufTryLen MesBufSize に32767 以上を指定した場合で、send システムコールで一度に送信要求する大きさを32767 以上にしたいとき、MesBufTryLen で指定します。MesBufSize を越えて設定することはできません。 2147483647
MesBufSize メッセージバッファ分割の大きさを指定します。単位はバイトです。 8192
MessagingLog trueを指定すると通信相手、通信量のログをとることができます。 false
MessageBodyLog trueを指定すると通信内容のログをとることがきます。 false
MessageLogFile 通信ログ出力先ファイル名を指定します。 指定なし
SendCodeSetContextEverytime この設定が"true"のときは、CodeSetContext を毎回送ります。設定が"false"のときは、1 コネクションにつき最初の一回だけ送ります。ObjectSpinner R4.x のサーバとコードセットを使用して通信を行うには設定を"true"にする必要があります。 false
ServerKeepAlive trueを指定すると、TCP/IP レベルでのKEEPALIVE をそのマシン内の全サーバプロセスで使用します。 true
ServerRequestTimeout クライアントからのリクエスト処理にかかる最大待ち時間(0 以上の整数)を秒単位で設定します。0 を設定すると処理が戻ってくるまで待ち続けます。 30
SockBufSize OS 内部のソケットごとのバッファサイズを指定します。単位はバイトです。未設定の場合、Object Broker C++ は明示的な値の設定を行いません。 0
SysExcWithOMGORG 旧バージョンや他社製品でIDL:omg.org/で始まるリポジトリID を正しく処理できないORB と通信を行う場合にfalseを指定します。falseを指定すると例外のリポジトリIDL:omg.org/)を従来形式(IDL:)でマーシャルします。 true
Syslog trueを指定するとシステムログ情報をsyslog に出力します。 false
SyslogDetail trueを指定すると詳細なシステムログ情報をsyslog に出力します。 false
SyslogForOperator trueを指定するとシステム運用者向けのログ情報を出力します。 false
SyslogForDeveloper trueを指定するとアプリケーション開発者向けのログ情報を出力します。 false
UseCodeSet この設定が"false"のときは、コードセットを使用せずに通信を行います。"true"のときは、コードセットを使用して通信を行います。 true
UseProfileBodyComponents IOR Components をProfileBody 内に格納するか、MultipleComponent 内に格納するかを設定します。この設定がtrueのときは、ProfileBody 内に格納します。falseのときは、MultipleComponent 内に格納します。ただし、IIOPMinorVersion が0 に設定されているときは、この設定にかかわらず、MultipleComponent 内に格納します。 false
CppAddWcharWidthOctet GIOP バージョン 1.2 において、wchar 型のデータをマーシャルするときに、1文字あたりのバイト数を示すオクテットを各文字に付加するかどうかを指定します。付加する場合は true を指定します。付加しない場合は false を指定します。 true
CppAddWstringWidthOctet GIOP バージョン 1.2 において、wstring 型のデータをマーシャルするときに、1文字あたりのバイト数を示すオクテットを各文字に付加するかどうかを指定します。付加する場合は true を指定します。付加しない場合は false を指定します。 false
CppClientCertKey PEM 形式のクライアント証明書のファイル名を設定します。
クライアント認証を要求するサーバと通信する場合は必ず設定しなければなりません。

(例)
D:\\temp\\userCA.pem
指定なし
CppSSLProvider SSL通信で使用する製品を指定します。

以下の値を設定することができます。
・SSL-C
・OpenSSL(既定値)
OpenSSL
CppTrustedCACerts PEM 形式の信頼するCA証明書のファイル名を設定します。

(例) D:\\temp\\CA.pem
指定なし
BindRetryCount 起動処理で、サーバポート開設に失敗した時の再試行回数を設定します。 0を設定した場合は再試行を行いません。この設定値は全てのObject Brokerサービスに適用されます。 10
BindRetryInterval 起動処理で、サーバポート開設に失敗した時の再試行間隔を秒単位で設定します。 この設定値は全てのObject Brokerサービスに適用されます。 3

1.10.1.3. Object Broker Javaの設定項目一覧

Javaタブ:Object Broker Javaの設定を行うことができます。
(注) 以下の項目に無いObject Broker Javaのプロパティは、オペレーションを使用して設定することができます。
オペレーションからの設定方法、および設定可能プロパティ一覧は、「ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.2. Object Broker > 7.2.1.2. Object Brokerコンフィグの操作」の 3. Object Broker Java プロパティ設定[set-ospi-java-property] を参照してください。

表1.10.1.3-1
属性名
(attribute-name)
説明 既定値
Java エンコーディング (JavaCodeSetEncoding) 通信に使用するコードセットに対応する Java™エンコーディングを変更します。
指定は、コードセット名と新たに設定するエンコーディング名をイコール (=) で区切って記述します。複数の指定をする場合は、カンマ (,) で区切って記述してください。

-CodeSetEncoding OSF_SJIS1=MS932,0x05020002=MS932
コードセット名のかわりにコードセット番号で指定することもできます。10進数もしくは16進数での指定が可能です。16進数の場合は先頭に 0x を付け加えてください。

Object Broker Java でサポートするコードセットについての詳細は [ アプリケーション開発ガイド(CORBA) > 1. CORBA アプリケーション > 1.2. プログラミング・開発ガイド > 1.2.2. Object Broker > 1.2.2.7. Object Broker Javaの機能 ] の文字コードセット を参照してください。
Object Broker Javaで対応していないコードセットに対しては指定できません。指定しても設定は更新されません。 また、Java™ がサポートしていないエンコーディングは指定できません。Java™ がサポートするエンコーディングは Java™ のバージョンによって異なります。Java™ がサポートしていないエンコーディングを指定した場合は、文字コード変換が発生した時点 (文字および文字列データの送受信) でアプリケーションに INV_OBJREF 例外を返却します。
この項目を指定しない場合の既定値は、 [ アプリケーション開発ガイド(CORBA) > 1. CORBA アプリケーション > 1.2. プログラミング・開発ガイド > 1.2.2. Object Broker > 1.2.2.7. Object Broker Javaの機能 ] の文字コードセット を参照してください。
Char、string型のコンバージョンコードセット
(JavaConversionCodeSets)
char 型、string 型のコンバージョンコードセットを変更します。
指定可能なコードセットは [ アプリケーション開発ガイド(CORBA) > 1. CORBA アプリケーション > 1.2. プログラミング・開発ガイド > 1.2.2. Object Broker > 1.2.2.7. Object Broker Javaの機能 ] の文字コードセット を参照してください。
ConversionCodeSets プロパティの設定は、サーバに対してのみ有効です。 複数のコードセットを指定する場合は、カンマ(,)で区切って記述してください。
この項目を指定しない場合の既定値は、OSF_SJIS1,JIS_eucJP,
ISO8859-1,ISO646です。
wchar、wstring型のコンバージョンコードセット
(JavaConversionCodeSetsW)
wchar 型、wstring 型のコンバージョンコードセットを変更します。
指定可能なコードセットは [ アプリケーション開発ガイド(CORBA) > 1. CORBA アプリケーション > 1.2. プログラミング・開発ガイド > 1.2.2. Object Broker > 1.2.2.7. Object Broker Javaの機能 ] の文字コードセット を参照してください。
ConversionCodeSetsW プロパティの設定は、サーバに対してのみ有効です。 複数のコードセットを指定する場合は、カンマ(,)で区切って記述してください。
この項目を指定しない場合の既定値は、UTF16 です。
コードセットの指定がないときに例外を返却するかどうかの指定
(JavaCodeSetNegotiationStrict
Check)
GIOP バージョン 1.0 で通信を行う場合、および、コードセットのネゴシエーション機能を持たない ORB と通信を行う場合に、通信するデータに wchar 型もしくは wstring 型が含まれていたとき、CORBA 仕様に準拠してアプリケーションに例外を返却するかどうかを指定します。
true を指定した場合は、通信するデータに wchar 型もしくは wstring 型が含まれていた場合、アプリケーションに例外を返却します。
false を指定した場合は、wchar 型もしくは wstring 型のコードセットに UCS2L1 を使用して通信します。
false
バッファの初期プール数
(JavaInitialBufferPoolSize)
内部バッファが使用するバッファの初期プール数を設定します。内部バッファが使用するバッファは再利用されます。 InitialBufferPoolSizeで指定された数だけ、ORB起動時にバッファが確保されます。 4
バッファの初期サイズ
(JavaInitialBufferSize)
内部バッファが使用するバッファの初期サイズを設定します。バッファサイズの指定は性能の改善に有効です。
既定値(8192バイト)より大きなデータの送受信を頻繁に行う場合、そのデータサイズより大きいバッファを設定することで、性能を改善することができます。
8192
バッファプールの最大数
(JavaMaxBufferPoolSize)
内部バッファが使用するバッファの最大プール数を設定します。内部バッファが使用するバッファは再利用されます。 MaxBufferPoolSizeで指定された数以上は、バッファはプールされません。 20
AddWcharWidthOctet
(JavaAddWcharWidthOctet)
GIOP バージョン 1.2 において、wchar 型のデータをマーシャルするときに、1文字あたりのバイト数を示すオクテットを各文字に付加するかどうかを指定します。付加する場合は true を指定します。付加しない場合は false を指定します。 true
AddWstringWidthOctet
(JavaAddWstringWidthOctet)
GIOP バージョン 1.2 において、wstring 型のデータをマーシャルするときに、1文字あたりのバイト数を示すオクテットを各文字に付加するかどうかを指定します。付加する場合は true を指定します。付加しない場合は false を指定します。 false
クライアント認証の要否
(JavaCertRequest)
クライアントに対する、クライアント証明書の要求の指定を選択します。サーバ側で有効です。次の値を設定することができます。

true - クライアント証明書を要求します
false - クライアント証明書を要求しません
false
SSL 通信で使用する製品
(JavaSSLProvider)
SSL通信で使用する製品を指定します。次の値を設定することができます。

SSL-J
JSSE
JSSE
クライアント証明書のファイル名
(JavaClientCertKey)
クライアント証明書のファイル名を設定します。 クライアント認証を要求するサーバと通信する場合は必ず設定しなければなりません。

(例) D:\\temp\\userCA.p12
指定なし
クライアント証明書のファイルのパスワード
(JavaClientCertKeyPassPhrase)
クライアント証明書のファイルのパスワードを設定します。 指定なし
クライアント証明書の鍵の別名
(JavaClientCertAlias)
クライアント証明書の鍵の別名を設定します。 証明書ファイルが JKS 形式の場合のみ必要です。 指定なし
クライアント証明書の鍵の別名のパスワード
(JavaClientCertAliasPassPhrase)
クライアント証明書の鍵の別名のパスワードを設定します。
証明書ファイルが JKS 形式の場合のみ必要です。
指定なし
クライアント証明書の鍵の形式
(JavaClientCertKeyType)
クライアント証明書の鍵の形式を設定します。 この項目を指定しない場合の既定値は DSA です。
クライアント証明書のファイル形式
(JavaClientCertKeyFileType)
クライアント証明書のファイルの形式を設定します。 PKCS12
CA証明書のファイル名
(JavaTrustedCACerts)
信頼するCA証明書のファイル名を設定します。

(例) D:\\temp\\CA.DER
指定なし
CA証明書のファイルのパスワード
(JavaTrustedCACertsPassPhrase)
信頼するCA証明書のファイルのパスワードを設定します 証明書ファイルが JKS 形式の場合のみ必要です。 指定なし
CA証明書のファイル形式
(JavaTrustedCACertsFileType)
信頼するCA証明書のファイルの形式を設定します。DER もしくは JKS を指定することができます。PEM 形式の場合は DER と指定してください。 JKS
SSLCipherSuites
(JavaSSLCipherSuites)
SSLで利用するCipherSuitesの種類を指定します。使用する各CipherSuitesを":"で区切って指定します。指定可能なCipherSuitesについてはSunのJSSEリファレンスガイドを参照ください。 JSSE を使用し、このプロパティを指定しない場合は JSSE の既定値に従います。
スレッドポリシー
(JavaThreadPolicy)
サーバ処理のスレッドポリシーを選択します。 次の値を設定することができます。

PerClientThread - クライアント単位にスレッドを生成し、そのスレッド上でクライアントからの要求をシリアルに処理します
PooledThread - クライアントからの要求をあらかじめプールされた複数のスレッドに配分してパラレルに処理します

PerClientThreadの場合、クライアントが異なれば、スレッドも異なるため、それらの要求はパラレルに処理されます。
PooledThreadの場合、プールスレッドは、クライアント単位ではなく、クライアント全体で共通のものです。その数は、共通タブのPoolThreadNumberで変更できます。
PooledThread
Dynamic RMI-IIOP機能を有効にするかどうかの指定
(UseDynamicStub)
Dynamic RMI-IIOP機能(RMI-IIOP のダイナミック・プロキシによる通信モード)を有効にするかどうかを指定します。 次の値を設定することができます。

true - RMI-IIOP のダイナミック・プロキシによる通信モードを有効にします
false - RMI-IIOP のダイナミック・プロキシによる通信モードを無効にします
true

1.10.1.4. Object Brokerサービスの設定項目一覧

oadや名前サーバ、IRサーバ、インタオペラブル名前サーバ、キャッシュ名前サーバ、oadj、アプレットプロキシといったObject Brokerが提供する各種サービスの設定を行うことができます。

各サービスの設定項目の前に、各サービスが持つ[状態] のタブで設定できる項目について説明します。
(注) アプレットプロキシのみ、[状態] タブはありません。
状態タブ:各サービスのアライブチェックに関する設定を行うことができます。
表1.10.1.4-1
属性名
(attribute-name)
説明 既定値
状態 監視対象のサービスの状態を表示します。 参照のみ可能な項目です。既定値はありません。
アライブチェックモニタの自動登録を行う trueの場合、ドメイン起動時にアライブチェックモニタを登録し、サービスのアライブチェックを行います。
サービスが正常動作していない(アボート、ストールなど)場合、イベントが発生して通知されます。
アライブチェックモニタの詳細については、「ドメイン構築・基本設定ガイド > 9. モニタリング > 9.1. モニタリングについて > 9.1.2. モニタの種類 > 9.1.2.4. Alive Check Monitor」を参照してください。
oad、名前サーバ(namesv)、IRサーバ(irsv)、インタオペラブル名前サーバ(corbaloc)、キャッシュ名前サーバ(cnamesv)ではtrue、
oadjではfalseです。
監視間隔 アライブチェックの監視間隔をミリ秒単位で指定します。 30000(ミリ秒)
イベントを連続発生させる間隔 監視対象のサービスがアライブ中でない状態が続く場合にイベントを発生させる間隔をミリ秒単位で指定します。0の場合、このイベントは発生しません。 0
Dottedname : server.objectbrokerservice.oad

oadの設定項目は、[一般] のタブにあります。

表1.10.1.4-2
属性名
(attribute-name)
説明 既定値
OadPort oadのポート番号(任意の整数)を指定します。
指定可能な値の範囲はOSに依存します。
ORB通信を行うクライアントとサーバ間で同一のポート番号を使う必要があります。

同一ホス内のOadPortには、(他のサーバも含めて)重複しないポート番号を指定する必要があります。
運用開始後にoadのポート番号を変更すると、それ以前に作ったオブジェクトを呼び出すことができなくなります。変更した場合は、システムを再起動してください。
9825
OadActivationMode disabledを指定すると一切サーバの自動起動を行いません。
enabledを指定するとサーバの自動起動を行います。
enabled
OadNoCheckActivation enabledを指定するとあらゆるホストからの活性化を受け付けます。またサーバの実行ファイルについても一切の制限なく受け付けます。このモードの使用はセキュリティ上の問題を引き起こす恐れがあります。
disabledを指定すると、活性化を受け付けるホストのチェックを行います。
disabled
OadAllowRelativePath true を指定すると、相対パスのサーバ実行ファイルでも自動起動を行います。
falseが指定されたときは"相対パスのサーバ実行ファイルは自動起動を行いません。
false
OadActivationTimeout oadによるサーバプロセス自動起動時に起動完了通知を待つ時間を秒単位で設定します。 10
OadStartup ドメイン起動時、ObjectBroker MOからのサービススタート時にoadを起動するかどうかを指定します。
OadMOからのoad起動時は、この値に関係なく、oadを起動します。
次のような場合には、oadを起動する設定に変更してください。
  • V9.1までと同様の運用形態にしたい場合(たとえばプロセス監視対象を変えたくない等)
  • V9.1までの環境からObject Brokerサービスを利用する場合
  • corbaloc,irsv,oadjを起動する場合
  • oadによるサーバプロセス自動起動を使用する場合
false
OadLoggingLevel oadのLoggingLevelを設定します。設定と引数の両方が指定されている場合は、引数が優先されます。指定可能な値は、LoggingLevelと同じです。未指定時は、LoggingLevelの値が使用されます。 指定なし


Dottedname : server.objectbrokerservice.namesv

名前サーバの設定項目は、[一般] のタブにあります。

表1.10.1.4-3
属性名
(attribute-name)
説明 既定値
NameServicePort 名前サーバのポート番号。指定可能な値の範囲はOSに依存します。
名前サービス運用開始後にポート番号を変えるとそれ以前に付けられた名前は使えなくなります。
運用開始後にポート番号を変更する場合は、いったん名前サービスを停止後、
${INSTANCE_ROOT}/config/ObjectBroker/namesv.ndfファイルを削除してから行ってください。
2809
NameServiceHostName 名前サーバが動作しているホスト名を指定します。 自ホスト
NameServiceExportHostName 名前サーバが動作するホスト上で指定すると、名前サーバのIOR中に含まれるホスト情報として使われます。NameServiceHostNameと同時に指定した場合、この設定が優先されます。 指定なし
NameServiceFileSaveRetryInterval 名前サーバ終了時にパーシステントデータを保存できないとき、データ書き込みの再試行を行う間隔を設定します。設定できる上限の値は2,147,483,647です。この値を越えたり、負の値を設定してはいけません。 30
NameServiceIdWithOMGORG 旧バージョンや他社製品でIDL:omg.org/で始まるリポジトリIDを正しく処理できないORBと通信を行う場合にfalseを指定します。falseを指定すると名前サービスのリポジトリID(IDL:omg.org/)を従来形式(IDL:)でマーシャルします。 true
NameServiceAccessCheck trueを指定すると
${INSTANCE_ROOT}/config/ObjectBroker/namesvwtファイルに記述されたホストおよび名前サーバが動作しているホスト以外からはresolve以外の名前サービスへのアクセスができなくなります。namesvwtファイルには書き込みアクセスを許可するホストのホスト名またはIPアドレスを記述します。
false
NameServiceThreadPolicy スレッド処理方針を設定します。
指定なし - シングルスレッドで実行されます。
permethod - メソッドごとにスレッドを作成して実行されます。
pool - あらかじめ作成されたスレッドで実行されます。
指定なし
NameServiceRoundRobin trueを設定するとラウンドロビン機能が有効になります。 falseの場合にラウンドロビンのインタフェースが呼ばれたときの動作は保証しません。 true
NameServiceConvertIOR 変換データファイルのパス または auto を指定します。 指定なし
NameServiceUseCNS この設定は、名前サーバがキャッシュ名前サーバと連携するかどうかを指定します。この設定を"true"にすると、キャッシュ名前サーバとの連携を受け付けます。キャッシュ名前サーバと連携させる名前サーバが動作しているホストは"true"に指定してください。 false
NameServiceStartup ドメイン起動時、ObjectBroker MOからのサービススタート時に名前サーバを起動するかどうかを指定します。
NameServiceMOからの名前サーバ起動時は、この値に関係なく、名前サーバを起動します。
true
NameServiceFileSaveRetryCount 名前サーバ終了時にパーシステントデータを保存できないとき、データ書き込みの再試行を行う回数を設定します。設定できる上限の値は2,147,483,647です。この値を越えた値や負の値を設定してはいけません。 2
NameServiceDuplicationAware trueを指定するとCORBA::ORB::__duplication_aware(1)で名前サーバを動作させます。つまり、MC/SGにより多重化された論理ホスト上の名前サーバとして動作します。
この指定を行ったときはLogicalHostNameおよびLogicalIPAddressの指定も必要となります。
設定がないとき、および、true以外を指定したときには物理ホスト上の名前サーバとして動作します。
false
NameServiceBackupNDF NDFファイルのバックアップ機能を利用するかどうかをtrue / falseで指定します。デフォルトはtrueです。 true
NameServiceManagementNDF 壊れているNDFファイルは、調査の為に退避されますが、何世代まで退避しておくかを指定します。デフォルトは2世代です。退避されたNDFファイルは、${OrbRoot}/conf配下に格納されます。
${OrbRoot}については[1.10.1.1. Object Broker共通の設定項目一覧]を参照してください。
2
NameServiceConfDirectory namesv.ndfファイルが置かれるディレクトリを指定します。設定がされていないときは${OrbRoot}/confとなります。
${OrbRoot}については[1.10.1.1. Object Broker共通の設定項目一覧]を参照してください。
指定なし
NameServiceLoggingLevel 名前サーバのLoggingLevelを設定します。設定と引数の両方が指定されている場合は、引数が優先されます。指定可能な値は、LoggingLevelと同じです。未指定時は、LoggingLevelの値が使用されます。 指定なし

名前サーバを起動するサーバで、NameServiceHostNameにリモートのホスト名を設定する必要がある場合は、名前サーバが起動できるようNameServiceExportHostNameに自ホスト名を設定してください。


Dottedname : server.objectbrokerservice.irsv

IRサーバの設定項目は、[一般] のタブにあります。

表1.10.1.4-4
属性名
(attribute-name)
説明 既定値
InterfaceRepositoryPort インタフェースリポジトリのポート番号。指定可能な値の範囲はOSに依存します。
インタフェースリポジトリ運用開始後にポート番号を変えるとそれ以前に登録されたインタフェース定義情報は使えなくなります。運用開始後にポート番号を変更する場合は、いったんインタフェースリポジトリを停止後、
${INSTANCE_ROOT}/config/ObjectBroker/ InterfaceRepository.irfファイルを削除してから行ってください。
9830
InterfaceRepositoryHostName インタフェースリポジトリが動作しているホスト名を指定します。 自ホスト
InterfaceRepositoryFileSave
RetryInterval
インタフェースリポジトリ終了時にパーシステントデータを保存できないとき、データ書き込みの再試行を行う時間を設定します。設定できる上限の値は2,147,483,647です。この値を越えたり、負の値を設定してはいけません。 30
InterfaceRepositoryIdWith
OMGORG
旧バージョンや他社製品でIDL:omg.org/で始まるリポジトリIDを正しく処理できないORBと通信を行う場合にfalseを指定します。指定するとインタフェースリポジトリのリポジトリID(IDL:omg.org/)を従来形式(IDL:)でマーシャルします。 true
InterfaceRepositoryStartup ドメイン起動時、ObjectBroker MOからのサービススタート時にインタフェースリポジトリを起動するかどうかを指定します。
InterfaceRepositoryMOからのインタフェースリポジトリ起動時は、この値に関係なく、インタフェースリポジトリを起動します。
false
InterfaceRepositoryLoggingLevel インタフェースリポジトリのLoggingLevelを設定します。設定と引数の両方が指定されている場合は、引数が優先されます。指定可能な値は、LoggingLevelと同じです。未指定時は、LoggingLevelの値が使用されます。 指定なし


Dottedname : server.objectbrokerservice.corbaloc

インタオペラブル名前サーバの設定項目は、[一般] のタブにあります。

表1.10.1.4-5
属性名
(attribute-name)
説明 既定値
CorbalocServerPort corbalocサーバのポート番号。指定可能な値の範囲はOSに依存する。 9827
CorbalocDefaultPort corbaloc URLにポート番号を指定しなかった場合の既定値になります。 2809
CorbalocAskWithMT この設定は、corbaloc URLに初期サービスのアドレスを複数指定したときの動作を指定します。
この設定を"true"にすると、マルチスレッドによる同時処理をします。
"false"の場合は、左から順次処理が行われます。
false
ToUrlForIiopname この設定にfalseを指定したとき、
CosNaming::NamingContextExt::to_urlメソッドは、corbaname URLを返します。 未設定時はiiopname URLを返します。
true
CorbalocStartup ドメイン起動時、ObjectBroker MOからのサービススタート時にcorbalocサーバを起動するかどうかを指定します。
CorbalocMOからのcorbalocサーバ起動時は、この値に関係なく、corbalocサーバを起動します。
false
CorbalocLoggingLevel corbalocサーバのLoggingLevelを設定します。設定と引数の両方が指定されている場合は、引数が優先されます。指定可能な値は、LoggingLevelと同じです。未指定時は、LoggingLevelの値が使用されます。 指定なし


Dottedname : server.objectbrokerservice.cnamesv

キャッシュ名前サーバの設定項目は、[一般] のタブにあります。

表1.10.1.4-6
属性名
(attribute-name)
説明 既定値
CacheNameServicePort キャッシュ名前サーバが使用するポート番号を10進数で指定します。指定可能な値の範囲はOSに依存します。
未設定もしくは0を指定したときは自動的に割り当てられます。
9829
CacheNameServiceThreadPolicy スレッド処理方針を設定します。
指定無し - シングルスレッドで実行されます。
permethod - メソッドごとにスレッドを作成して実行されます。
pool - あらかじめ作成されたスレッドで実行されます。

キャッシュ名前サーバが動作するホストではこの設定をpoolにしてください。また、これにともないPoolThreadNumberも設定します。
指定なし
CacheSynchroInterval キャッシュ名前サーバと連携している名前サーバが動作しているか確認する間隔(秒)を指定します。
名前サーバのダウンを検出した場合、その名前サーバから収集したキャッシュは削除されます。
また、ダウンしていた名前サーバが再起動していた場合は、キャッシュ名前サーバ上にあるキャッシュ(これは別の名前サーバから収集したものです)に相当するオブジェクトを名前サーバから収集し、キャッシュに加えます。名前サーバの生死状態に変化がない場合は何も行いません。
300
nmsvlist nmsvlistはキャッシュ元となる名前サーバのリストファイルです。
キャッシュ名前サーバを動作させるマシンの
${INSTANCE_ROOT}/config/ObjectBrokerディレクトリに格納されます。nmsvlistには名前サーバ1つにつき1行ずつ、ホスト名, IOR文字列, corbaloc:もしくはcorbaname:の形で記述します。
複数の名前サーバを設定する場合は、「,」(カンマ)で区切り、指定して下さい。
指定なし
CacheNameServiceStartup ドメイン起動時、ObjectBroker MO からのサービススタート時にキャッシュ名前サーバを起動するか指定します。
CacheNameServiceMO からのキャッシュ名前サーバ起動時は、この値に関係なく起動します。
false
FullSynchroInterval FullSynchroIntervalを指定すると、名前サーバの生死に関らず、指定した間隔で、キャッシュの更新を行います。
値はCacheSynchroIntervalのn倍というように指定します。CacheSynchroIntervalが300(秒)のとき、FullSynchroIntervalに4を指定すると、1200秒(20分)毎に、キャッシュの更新を行います。

(注意)
キャッシュの更新は、キャッシュ名前サーバおよび名前サーバに大きな負荷が掛かります。名前サーバに沢山のオブジェクトが登録されている場合は、CacheSynchroInterval×FullSynchroIntervalで計算される時間が小さくならないようにして下さい。
未設定時は0で、FullSynchroInterval間隔でのキャッシュ更新は行ないません。
0
CNSUpdatePolicy 名前サーバが更新されたとき、関連するCNSに、どのように情報を通知するかを決定します。
"all"を指定すると、オブジェクト登録時および削除時に情報を通知します。未設定時は削除時のみの通知となります。
この設定を有効にする場合、名前サーバ側、キャッシュ名前サーバ側の双方で"all"を指定して下さい。それ以外の組み合わせでは意味を持ちません。
例えば、名前サーバ側が"all"で、キャッシュ名前サーバ側が"all"でない場合、名前サーバは全ての情報を通知しますが、キャッシュ名前サーバは削除情報のみを受け入れます。これとは逆の設定の場合、キャッシュ名前サーバは全ての通知を受け入れますが、名前サーバが削除情報しか通知しないため、結果として、削除情報のみしか受け取れません。
指定なし
CacheNameServiceLoggingLevel CNSのLoggingLevelを設定します。設定と引数の両方が指定されている場合は、引数が優先されます。
引数で設定する場合は、「-ORBLoggingLevel」を指定します。指定可能な値は、LoggingLevelと同じです。未指定時は、設定のLoggingLevelの値になります。
指定なし


Dottedname : server.objectbrokerservice.oadj

oadjの設定項目は、[一般] のタブにあります。
(注) 属性重要度をデフォルトの1から3に上げると、[拡張]タブが表示され、設定可能な項目が増えますが、[拡張タブ]の項目は、通常、設定の必要のないものです。

一般タブ:OadJに関する基本的な設定を行うことができます。
表1.10.1.4-7
属性名
(attribute-name)
説明 既定値
OadJ を起動するかどうかの指定
(Startup)
ドメイン起動時および ObjectBroker MO からのサービススタート時にOadJ を起動するかどうかを指定します。OadJ MO からのOadJ 起動時は、この値に関係なく、OadJ を起動します。 false
ライセンス情報を取得できるかどうかを表す値
(Licensed)
インストール時にライセンスが登録されたかどうかを表します。ただし、OadJが起動していない場合は必ずfalseが返ります。 参照のみ可能な項目です。既定値はありません。
OadJのポート番号(Port) OadJ の使用するポート番号です。 9826
Oadのポート番号
(OadPort)
Oad のポート番号です。
OadJ は起動時にOad を使用します。Oad のポート番号の変更は、oad MO から行うことができます。
参照のみ可能な項目です。既定値は9825です。
OadJ 起動時のログ採取有無
(InitLog)
OadJ の起動に関するログを採取するかどうかを指定します。ログは${INSTANCE_ROOT}/logs/webotx_ospi.log に出力されます。 oadj プロセスの起動に失敗するような問題の解決に有効です。 true
OadJ ログファイルサイズ
(LogFileSize)
oadjのログファイルの上限値(キロバイト)を指定します。ログファイルのサイズがこの値を超えると、新しいログファイルが作成されます。古いログファイルは、<ログファイル名.bak>として保存されます。

(注)この値は目安であり、ログファイルサイズが設定値を上回る場合があります。
100
OadJのログレベル
(LogLevel)
ログレベルを切り替えることにより、OadJ の運用時のログをとることができます。ログは${INSTANCE_ROOT}/logs/ObjectBroker/oadj.log に出力されます。次の値を設定することができます。

NO - 診断メッセージを出力しません。
ERROR - 通信エラーなど、エラーが発生した時に診断メッセージを出力します。
WARN - 警告的な意味を持つ状況が発生した時に診断メッセージを出力します。
INFO - アプリケーションプログラムの動作情報を出力します。
DEBUG - 詳細な診断情報を出力します。自動起動サーバプロセスが起動されないような問題の解決に有効です。
ERROR
JavaCommand OadJが使用するJavaコマンドをフルパスで設定します。

例)
D:\j2sdk1.4.2_12\bin\java
未指定時
System.getProperty
("java.home")で取得したJDKのJavaコマンドを使用します。
拡張タブ:OadJに関する拡張設定を行うことができます。通常はこのタブの項目の設定を行う必要はありません。
表1.10.1.4-8
属性名
(attribute-name)
説明 既定値
OadJ 起動時Javaオプション
(JavaOptions)
OadJ 起動時に呼び出されるjava/jre 起動コマンドに渡すコマンドライン オプションを指定します。複数のオプションが指定できます。通常は指定する必要はありませんが、何らかのjava/jre 実行時の問題を回避するような場合に有効となります。オプションについては、JDK/JRE のドキュメントを参考にしてください。未指定時は何も渡されません。

例) メモリ割り当てプールの初期サイズと最大サイズを指定する場合。
OadJJavaOptions=-Xms64m -Xmx128m
-Xms16m -Xmx64m
OadJのクラスパス
(Classpath)
OadJ起動時のクラスパスを指定します。

例)
D:\libtemp\aaa.jar;D:\libtemp\bbb.jar;D:\libtemp\cccc.jar
この表の下にある
<"OadJのクラスパス"の既定値>を参照してください。
AliveCheckSleepTime oadjにより起動されたサーバプロセスの生存を確認する間隔をミリ秒単位で設定します。 30000(ミリ秒)
ServerActivationTimeout OadJによるサーバプロセス自動起動時に起動完了通知を待つ時間をミリ秒単位で設定します。 30000(ミリ秒)
OadJAvoidAliveCheckProblem サーバプロセス生存確認時に発生するIOExceptionの種類がJDKのバージョンによって異なることを吸収します。 false

<"OadJのクラスパス(Classpath)"の既定値>

Windowsの場合 :
<webotx_home>\ObjectBroker\lib\ospiorb50.jar;<webotx_home>\ObjectBroker\lib\ospiname50.jar; <webotx_home>\ObjectBroker\lib\ospioadj50.jar;<webotx_home>\ObjectBroker\lib\jsocks.jar

UNIXの場合 :
/usr/lib/ObjectSpinner/lib/ospiorb50.jar:/usr/lib/ObjectSpinner/lib/ospiname50.jar:
/usr/lib/ObjectSpinner/lib/ospioadj50.jar:/usr/lib/ObjectSpinner/lib/jsocks.jar


Dottedname : server.objectbrokerservice.ospprxy

ospprxy の設定項目は、[一般] のタブにあります。

表1.10.1.4-9
属性名
(attribute-name)
説明 既定値
ospprxy を起動するかどうかの指定
(Startup)
ドメイン起動時および ObjectBroker MO からのサービススタート時にospprxy を起動するかどうかを指定します。ospprxy MO からのospprxy 起動時は、この値に関係なく、ospprxy を起動します。 false

1.10.2. Object Broker JavaにおけるORBのプロパティ定義

この章ではORBに設定できるプロパティについて説明します。

1.10.2.1. 項目の参照と設定

項目の参照と設定は、Javaのシステムプロパティと同様に行ってください。詳細は、 [ドメイン構築・基本設定ガイド > 3. ドメイン > 3.8. Java VMオプションの設定 > 3.8.2. ユーザ独自のJava VMオプションの追加方法] を参照してください。

または、Object BrokerコンフィグMOのオペレーションを使用して設定することができます。オペレーションからの設定方法は、 「ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.2. Object Broker > 7.2.1.2. Object Brokerコンフィグの操作」の 3. Object Broker Java プロパティ設定[set-ospi-java-property] を参照してください。

プロパティ指定の優先順位は次の通りで、argsでの指定が最優先です。

  1. ORB.init(String[] args, Properties props)のargsでの指定
  2. jp.co.nec.orb.PropertyFileで指定されたプロパティ定義ファイルでの指定
  3. ORB.init(Applet, Properties)のAppletパラメータでの指定
  4. ORB.init(xxxx, Properties props)のpropsでの指定
  5. Javaシステムプロパティ
  6. ドメインのObject Brokerコンフィグの設定
  7. ユーザのホームディレクトリのプロパティ定義ファイル (orb.properties)
  8. javaのホームディレクトリ/libのプロパティ定義ファイル (orb.properties)

各プロパティで、プレフィックス「jp.co.nec.orb.」が付く名称(例:jp.co.nec.orb.AddWStringWidthOctet)のものは、プレフィックスをつけない名称でも設定可能です。

WebOTX Ver6で既定値を変更したプロパティの一覧を、以下に示します。

表1.10.2.1-1
プロパティ名(括弧()内の名前でも指定可能 )
jp.co.nec.orb.AddWstringWidthOctet
説明 Ver5までの既定値 Ver6での既定値
GIOP バージョン 1.2 において、wchar 型のデータをマーシャルするときに、1文字あたりのバイト数を示すオクテットを各文字に付加するかどうかを指定します。付加する場合は true を指定します。付加しない場合は false を指定します。 true false

jp.co.nec.orb.ClientRequestTimeout (jp.co.nec.orb.RequestTimeout)
説明 Ver5までの既定値 Ver6での既定値
クライアントからサーバにオペレーション呼び出しを行ってサーバからその応答が返るまでのタイムアウト値を設定します。このプロパティを指定したプロセス全体にこのタイムアウト値が適用されます。単位は秒です。0 を設定するとタイムアウトせず、サーバから応答が返るまで待ちつづけます。 設定した時間を過ぎてもサーバから応答がない場合には org.omg.CORBA.NO_RESPONSE 例外 (マイナーコード 5130) が発生します。 タイムアウトしない 30秒

jp.co.nec.orb.UseConnectionRoundRobin (jp.co.nec.orb.ConnectionRoundRobin)
説明 Ver5までの既定値 Ver6での既定値
オブジェクトリファレンスが多重化されている場合に、コネクションのラウンドロビンを行うかどうかを指定します。 ラウンドロビンを行う場合は true を指定します。ラウンドロビンを行わない場合は false を指定します。 false true

jp.co.nec.orb.ConnectionRoundRobinTimeout
説明 Ver5までの既定値 Ver6での既定値
オブジェクトリファレンスが多重化されている場合に、各オブジェクトに対する呼び出しのタイムアウト時間を秒単位で指定します。0 を指定した場合はタイムアウトしません。 タイムアウトしない ClientRequestTimeoutの設定に従う

jp.co.nec.orb.LogLevel (jp.co.nec.orb.LoggingLevel)
説明 Ver5までの既定値 Ver6での既定値
Object Broker Javaは、動作中に診断メッセージを出力することができます。診断メッセージを出力すると、アプリケーションのデバッグなどに便利なこともあります。診断メッセージは設定されているLogLevelに基づいて出力する情報が変わります。次の値を設定することができます。

NO - 診断メッセージを出力しません
ERROR - 通信エラーなど、エラーが発生した時に診断メッセージを出力します
WARN - 警告的な意味を持つ状況が発生した時に診断メッセージを出力します
INFO - アプリケーションプログラムの動作情報を出力します
DEBUG - 詳細な診断情報を出力します

LogLevelは上記のリストの下の方を指定するほど出力される情報は多くなります。
ERROR NO(出力しない)

jp.co.nec.orb.SSLProvider
説明 Ver5までの既定値 Ver6での既定値
SSL通信で使用する製品を指定します。次の値を設定することができます。

SSL-J
JSSE
SSL-J JSSE


WebOTX Object Broker Java™ におけるORBのプロパティ一覧を、以下に示します。

表1.10.2.1-2
プロパティ名(括弧()内の名前でも指定可能 )
jp.co.nec.orb.AddWcharWidthOctet
説明 既定値
GIOP バージョン 1.2 において、wchar 型のデータをマーシャルするときに、1文字あたりのバイト数を示すオクテットを各文字に付加するかどうかを指定します。付加する場合は true を指定します。付加しない場合は false を指定します。指定しない場合の既定値は true です。 true

jp.co.nec.orb.AddWstringWidthOctet
説明 既定値
GIOP バージョン 1.2 において、wchar 型のデータをマーシャルするときに、1文字あたりのバイト数を示すオクテットを各文字に付加するかどうかを指定します。付加する場合は true を指定します。付加しない場合は false を指定します。 false

jp.co.nec.orb.AllowNullString
説明 既定値
オペレーション呼び出しにおいて、string 型および wstring 型の引数、戻り値に null を指定することを許すかどうかを指定します。許す場合は true を指定します。許さない場合は false を指定します。 false

jp.co.nec.orb.AlternativeHostName
説明 既定値
リファレンス生成時に格納するホスト名を指定するときに使用します。 サーバソケットのbindでは全てのローカルアドレスへの接続を受け入れます。 java.net.InetAddress. getLocalHost()の戻り値

jp.co.nec.orb.AlternativeHostNames
説明 既定値
IORに設定されているホスト名(またはIPアドレス)がこのプロパティで指定された値に含まれていて、かつ、呼び出し先のCORBAオブジェクトが同一プロセス内で動作していれば、ローカルスタブで呼び出します。 複数の指定をする場合は、コロン (:) で区切って記述します。 指定しない

jp.co.nec.orb.AppletProxyHost
説明 既定値
AppletProxyのホスト名 指定なし

jp.co.nec.orb.AppletProxyPort
説明 既定値
AppletProxyのポート番号 −1

jp.co.nec.orb.CertRequest
説明 既定値
クライアントに対して、クライアント証明書の要求を行うかどうかを指定します。サーバ側で有効です。 次の値を設定することができます。

true - クライアント証明書を要求します
false - クライアント証明書を要求しません
false

jp.co.nec.orb.ClientAutoTimeout
説明 既定値
クライアント側で一定時間送受信要求の無いコネクションを監視するタイマ値(秒)を指定します。指定されたタイマ値の間メッセージの送受信を行わなかったコネクションは切断されます。指定されない場合、監視は行いません。 監視しない

jp.co.nec.orb.ClientCertAlias
説明 既定値
JSSEで使用するクライアント証明書の鍵の別名を設定します。証明書ファイルが JKS 形式の場合のみ必要です。 指定しない

jp.co.nec.orb.ClientCertAliasPassPhrase
説明 既定値
JSSEで使用するクライアント証明書の鍵の別名のパスワードを設定します。証明書ファイルが JKS 形式の場合のみ必要です。 指定しない

jp.co.nec.orb.ClientCertKey
説明 既定値
JSSEで使用するクライアント証明書のファイル名を設定します。 クライアント認証を要求するサーバと通信する場合は必ず設定しなければなりません。 指定しない

jp.co.nec.orb.ClientCertKeyFileType
説明 既定値
JSSEで使用するクライアント証明書のファイルの形式を設定します。 PKCS12 もしくは JKS を指定することができます。 PKCS12

jp.co.nec.orb.ClientCertKeyPassPhrase
説明 既定値
JSSEで使用するクライアント証明書のファイルのパスワードを設定します。 指定しない

jp.co.nec.orb.ClientCertKeyType
説明 既定値
JSSEで使用するクライアント証明書の鍵の形式を設定します。このプロパティを指定しない場合は DSA が既定値として選択されます。 DSA

jp.co.nec.orb.ClientRequestTimeout (jp.co.nec.orb.RequestTimeout)
説明 既定値
クライアントからサーバにオペレーション呼び出しを行ってサーバからその返事が返ってくるまでのタイムアウト値(単位:秒)を設定します。このプロパティを指定したプロセス全体にこのタイムアウト値が適用されます。 0 を設定するとタイムアウトせず、サーバからリプライが返るまで待ちつづけます。 設定した時間を過ぎてもサーバからリプライがない場合には org.omg.CORBA.NO_RESPONSE 例外 (マイナーコード 5130) が発生します。 30秒

jp.co.nec.orb.CodeBasePropertyFile
説明 既定値
プロセスで共通のコードベースプロパティファイルのファイル名を指定します。このプロパティを指定しない場合の既定値は カレントディレクトリ/codebase.conf です。 ./codebase.conf

jp.co.nec.orb.CodeBasePropertyFileDir
説明 既定値
コードベースプロパティ名に対応するコードベースプロパティファイルの格納ディレクトリを指定します。 カレントディレクトリ

jp.co.nec.orb.CodeBasePropertyFileSuffix
説明 既定値
コードベースプロパティ名に対応するコードベースプロパティファイルの拡張子を指定します。 cbp

jp.co.nec.orb.CodeSetEncoding
説明 既定値
通信に使用するコードセットに対応する Java™ エンコーディングを変更します。
指定は、コードセット名と新たに設定するエンコーディング名をイコール (=) で区切って記述します。複数の指定をする場合は、カンマ (,) で区切って記述してください。

-CodeSetEncoding OSF_SJIS1=MS932,0x05020002=MS932
コードセット名のかわりにコードセット番号で指定することもできます。10進数もしくは16進数での指定が可能です。16進数の場合は先頭に 0x を付け加えてください。

Object Broker Javaで対応していないコードセットに対しては指定できません。指定しても設定は更新されません。 Java™ がサポートしていないエンコーディングは指定できません。Java™ がサポートするエンコーディングは Java™ のバージョンによって異なります。Java™ がサポートしていないエンコーディングを指定した場合は、文字コード変換が発生した時点 (文字および文字列データの送受信) でアプリケーションに INV_OBJREF 例外を返却します。
[ アプリケーション開発ガイド(CORBA) > 1. CORBA アプリケーション > 1.2. プログラミング・開発ガイド > 1.2.2. Object Broker > 1.2.2.7. Object Broker Javaの機能 ] の文字コードセット を参照してください。

jp.co.nec.orb.CodeSetNegotiationStrictCheck
説明 既定値
GIOP バージョン 1.0 で通信を行う場合、および、コードセットのネゴシエーション機能を持たない ORB と通信を行う場合に、通信データに wchar 型もしくは wstring 型が含まれていたとき、CORBA 仕様に準拠してアプリケーションに例外を返却するかどうかを指定します。指定できる値は true もしくは false です。
true を指定した場合は、通信するデータに wchar 型もしくは wstring 型が含まれていた場合、アプリケーションに例外を返却します。
false を指定した場合、wchar 型もしくは wstring 型のコードセットとして UCS2L1 を使用します。
false

jp.co.nec.orb.CompatibleMinorCode
説明 既定値
R7.10 より Object Broker Java独自のマイナーコードの番号の一部を CORBA 標準マイナーコードに変更しました。そのため、R6.x もしくはそれ以前で作成したアプリケーションにおいて、マイナーコードで処理を切り分けている場合は、正しく動作しなくなる可能性があります。その場合、このプロパティに 6 を指定してください。 8

jp.co.nec.orb.UseConnectionRoundRobin (jp.co.nec.orb.ConnectionRoundRobin)
説明 既定値
オブジェクトリファレンスが多重化されている場合にコネクションのラウンドロビンを行うかどうかを指定します。 ラウンドロビンを行う場合は true を指定します。ラウンドロビンを行わない場合は false を指定します。 true

jp.co.nec.orb.ConnectionAutoRetryInterval
説明 既定値
オブジェクトリファレンスが多重化されている場合に、呼び出しに失敗したオブジェクトに対して状態確認を行う間隔を秒単位で指定します。 300(秒)

jp.co.nec.orb.ConnectionRoundRobinTimeout
説明 既定値
オブジェクトリファレンスが多重化されている場合に、それぞれのオブジェクトに対する呼び出しのタイムアウト時間を秒単位で指定します。0 を指定した場合はタイムアウトしません。 ClientRequestTimeoutの設定に従う

jp.co.nec.orb.ConnectionSharingUnit
説明 既定値
クライアント側でコネクションを生成、管理するときの共有単位を設定します。
Object Broker Javaでは設定された共有単位毎にコネクションを生成、管理します。 プロセス(JavaVM)単位、ORBインスタンス単位、Appletインスタンス単位のいずれかの設定が可能です。 ConnectionSharingUnitはORB.init()を呼び出す時のプロパティ値を変更することで、ORBインスタンス毎に異なる設定をすることができます。

Process - プロセス(JavaVM)単位
ORB - ORB.init()で生成されたORBインスタンス単位
Applet - ORB.init()の引数で指定されたAppletインスタンス単位

クライアントコネクションの切断、解放はORBインスタンスのshutdown()、もしくはdestroy()のいずれかが呼び出されたときに行います。切断、解放の対象となるコネクションはConnectionSharingUnitに設定された共有単位になります。
共有単位が同じである全てのORBインスタンスのshutdown()、destroy()が呼び出されない限り切断、解放は行いませんので注意が必要です。 例えば、Processを設定して生成したORBインスタンスが一つのプロセス内に複数存在する場合、それら全てのORBインスタンスのshutdown()、destroy()が呼び出されない限り切断、解放は行いません。
Process

jp.co.nec.orb.ConversionCodeSets
説明 既定値
char 型、string 型のコンバージョンコードセットを変更します。指定可能なコードセットは [ アプリケーション開発ガイド(CORBA) > 1. CORBA アプリケーション > 1.2. プログラミング・開発ガイド > 1.2.2. Object Broker > 1.2.2.7. Object Broker Javaの機能 ] の文字コードセット を参照してください。
ConversionCodeSets プロパティの設定は、サーバに対してのみ有効です。 複数のコードセットを指定する場合は、カンマ(,)で区切って記述してください。
OSF_SJIS1,
JIS_eucJP,
ISO8859-1,
ISO646

jp.co.nec.orb.ConversionCodeSetsW
説明 既定値
wchar 型、wstring 型のコンバージョンコードセットを変更します。指定可能なコードセットは [ アプリケーション開発ガイド(CORBA) > 1. CORBA アプリケーション > 1.2. プログラミング・開発ガイド > 1.2.2. Object Broker > 1.2.2.7. Object Broker Javaの機能 ] の文字コードセット を参照してください。
ConversionCodeSetsW プロパティの設定は、サーバに対してのみ有効です。複数のコードセットを指定する場合は、カンマ(,)で区切って記述してください。
UTF16

jp.co.nec.orb.CorbalocAskWithMT
説明 既定値
初期サービスのアドレスを複数指定した場合のcorbalocサーバ呼び出し時の動作を選択します。 次の値を設定することができます。

true - マルチスレッドによる同時処理
false - 順次処理

キャッシュ名前サービスを利用する場合は、trueを指定して同時処理を選択してください。 CorbalocAskWithMTは、ORB.init()を呼び出す時のプロパティ値を変更することで、ORBインスタンス毎に異なる設定をすることができます。
false

jp.co.nec.orb.CorbalocDefaultPort
説明 既定値
名前サービス利用時のURL記述(corbaloc URL)でポート番号を指定しなかったときに使用するポート番号を指定します。
CorbalocDefaultPortは、ORB.init()を呼び出す時のプロパティ値を変更することで、ORBインスタンス毎に異なる設定をすることができます。
2809

jp.co.nec.orb.DomainName
説明 既定値
サーバホストのドメイン名を指定します。 DomainNameは、ドメイン名の付いたホスト(例:host1.domain1.nec.co.jp)と付かないホスト(例:host2)が混在している場合に、ホスト名の整合性を取るために使用します。 Object Broker Javaがクライアントとして動作する場合、ホスト名解決に失敗すると、DomainNameで指定されたドメイン名を補完または削除してリトライします。サーバとして動作する場合、サーバのホスト名にドメイン名が付いていなければ、DomainNameで指定されたドメイン名を付加した名前でオブジェクトリファレンスを作成します。 指定しない

jp.co.nec.orb.ExternalHostName
説明 既定値
負荷分散装置や、クラスタ構成での仮想化のための、クライアント端末に公開するIPアドレスまたはホスト名を指定します。サーバ側で指定すると、全てのクライアント端末で有効になります。この設定は、ローカルマシン内でのEJBやCORBAの通信では使用されません。このため、設定されたホスト名が有効になっていなくても、サーバマシン内でEJBやCORBAの通信を行うことができます。
リファレンスを作る際、指定されたアドレスが、AlternativeHostNameより優先して格納されます。また、指定されたアドレスと自ホストのアドレスを、内部で自動的にAlternativeHostNamesプロパティに設定しています。
指定しない

jp.co.nec.orb.GIOPMinorNumber (jp.co.nec.orb.GIOPMinorVersion)
説明 既定値
クライアントがサーバに送信する要求メッセージのGIOPバージョンのマイナー番号には、サーバがIORのIIOPプロファイルに格納したIIOPバージョンのマイナー番号を使います。GIOPMinorNumberを指定すると、この要求メッセージのGIOPバージョンのマイナー番号を変更することができます。ただし、GIOPMinorNumberで指定した値よりもサーバがIORのIIOPプロファイルに格納したIIOPバージョンのマイナー番号のほうが小さい場合、サーバが格納した番号が優先されます。次の値を設定することができます。

0 - GIOP1.0を使用
1 - GIOP1.1を使用
2 - GIOP1.2を使用
2 - GIOP1.2を使用

jp.co.nec.orb.IIOPCompatible
説明 既定値
IIOPに準拠した通信を行うかどうかを指定します。 次の値を設定することができます。

true - IIOPに準拠した通信を行う
false - IIOPに準拠した通信を行わず、拡張プロトコルによる通信を行う
false

jp.co.nec.orb.IIOPMinorNumber (jp.co.nec.orb.IIOPMinorVersion)
説明 既定値
サーバがIORのIIOPプロファイルに格納するIIOPバージョンのマイナー番号を指定します。次の値を設定することができます。

0 - IIOP1.0を使用
1 - IIOP1.1を使用
2 - IIOP1.2を使用
2 - IIOP1.2を使用

jp.co.nec.orb.ImplementationName
説明 既定値
自動起動サーバのインプリメンテーション名を設定します。 自動起動サーバのオブジェクトリファレンスを生成する場合に使用します。「インプリメンテーションの登録」オペレーション(instimpl)による自動起動サーバの登録時に指定するインプリメンテーション名と同じ名前を指定してください。 指定しない

jp.co.nec.orb.InitialBufferPoolSize
説明 既定値
ストリームが使用するバッファの初期プール数を設定します。ストリームが使用するバッファは再利用されます。 InitialBufferPoolSizeで指定された数だけ、ORB起動時にバッファが確保されます。 4

jp.co.nec.orb.InitialBufferSize
説明 既定値
ストリームが使用するバッファの初期サイズを設定します。バッファサイズの指定は性能の改善に有効です。 既定値(8192バイト)より大きなデータの送受信が頻繁におこるような場合、そのデータサイズより大きいバッファを設定しておけば、バッファの拡張/破棄等の無駄な処理を避けることができます。 8192

jp.co.nec.orb.InterfaceRepositoryHost
説明 既定値
インタフェースリポジトリが動作するホスト名を指定することができます。このプロパティが設定されているとき、この設定はORBInitialHostより優先されます。 インタフェースリポジトリについて複数の設定が同時に行われた場合、優先されるプロパティの順番を下記に示します。
1. jp.co.nec.orb.InterfaceRepositoryIOR
2. jp.co.nec.orb.InterfaceRepositoryHost
3. org.omg.CORBA.ORBInitialHost

InterfaceRepositoryHostは、ORB.init()を呼び出す時のプロパティ値を変更することで、ORBインスタンス毎に異なる設定をすることができます。
指定しない

jp.co.nec.orb.InterfaceRepositoryIOR
説明 既定値
インタフェースリポジトリを表す文字列形式のオブジェクトリファレンスを指定することができます。指定するオブジェクトリファレンスは下記のような文字列です。
IOR:010000000d0....
InterfaceRepositoryIORは、ORB.init()を呼び出す時のプロパティ値を変更することで、ORBインスタンス毎に異なる設定をすることができます。
指定しない

jp.co.nec.orb.ListenBackLog
説明 既定値
TCPのバックログ(接続要求の待ち行列の最大長)を指定するときに使用します。 Java VMの実装依存

jp.co.nec.orb.LogFileName (jp.co.nec.orb.LoggingOutput)
説明 既定値
診断メッセージや通信データの出力先ファイル名を、フルパス指定、または相対パス指定で設定することができます。既に指定ファイルが存在している場合は、append出力します。 指定ファイルに書き込めない場合は、BAD_PARAM例外が返ります。 指定しない

jp.co.nec.orb.LogFileSize (jp.co.nec.orb.LogLimit)
説明 既定値
LogFileNameで指定したファイルのサイズ上限値を単位:キロバイトで設定することができます。 -1(既定値)指定時は無制限となります。 ファイルのサイズが指定値を越えたら、カレントファイルを"ファイル名.bak"として保存します。 LogFileNameを指定した場合にのみ有効です。 指定サイズが不正な場合は、BAD_PARAM例外が返ります。 無制限

jp.co.nec.orb.LogLevel (jp.co.nec.orb.LoggingLevel)
説明 既定値
Object Broker Javaは、動作中に診断メッセージを出力することができます。診断メッセージを出力すると、アプリケーションのデバッグなどに便利なこともあります。診断メッセージは設定されているLogLevelに基づいて出力する情報が変わります。次の値を設定することができます。

NO - 診断メッセージを出力しません
ERROR - 通信エラーなど、エラーが起ったときに診断メッセージを出力します
WARN - 警告的な意味を持つ状況が起ったときに診断メッセージを出力します
INFO - アプリケーションプログラムの動作情報を出力します
DEBUG - 詳細な診断情報を出力します

LogLevelは上記のリストの下の方を指定するほど、出力される情報は多くなります。
NO(出力しない)

jp.co.nec.orb.MaxAcceptNumber
説明 既定値
サーバにおける同時に接続可能なクライアントの数を指定します。MaxAcceptNumberで指定された数以上の接続要求はコネクション切断となります。 システムの設定値によっては、プロセスあたりで使用できるファイル数の制限のためにacceptに失敗し以降の要求を受け付けない現象が発生します。このような場合にその数に到達しない範囲で指定すると有効です。未指定時は無制限となります。 無制限

jp.co.nec.orb.MaxBufferPoolSize
説明 既定値
ストリームが使用するバッファの最大プール数を設定します。ストリームが使用するバッファは再利用されます。 MaxBufferPoolSizeで指定された数以上のバッファはプールされません。 20

jp.co.nec.orb.MaxConnectionNumber (jp.co.nec.orb.MaxConnection)
説明 既定値
コネクションの最大接続数(0以上の整数)を設定します。この設定がないとき、および、0を設定したときは上限を設定しません。 0(上限なし)

jp.co.nec.orb.MessageDumpLevel (jp.co.nec.orb.MessageBodyLog)
説明 既定値
Object Broker Javaは、動作中に通信データを採取することができます。通信データを採取すると、障害解析などに便利なこともあります。 採取データは設定されているMessageDumpLevelに基づいて出力する情報が変わります。次の値を設定することができます。

NO - 通信データを採取しません
HEAD - 通信データのヘッダのみ採取します
ALL - 通信データ全てを採取します
NO

jp.co.nec.orb.MessageDumpSize
説明 既定値
通信データ採取サイズの上限値を単位:バイトで設定することができます。 -1(既定値)指定時は無制限となります。採取する通信データに対して、指定上限値を越えるデータは出力しません。 指定サイズが不正な場合は、BAD_PARAM例外が返ります。 無制限

jp.co.nec.orb.NameServiceHost (jp.co.nec.orb.NameServiceHostName)
説明 既定値
名前サーバが動作するホスト名を指定することができます。このプロパティが設定されているとき、この設定はORBInitialHostより優先されます。 名前サーバについて複数の設定が同時に行われた場合、優先されるプロパティの順番を下記に示します。
1. jp.co.nec.orb.NameServiceIOR
2. jp.co.nec.orb.NameServiceHost
3. org.omg.CORBA.ORBInitialHost

NameServiceHostは、ORB.init()を呼び出す時のプロパティ値を変更することで、ORBインスタンス毎に異なる設定をすることができます。
指定しない

jp.co.nec.orb.NameServiceIOR
説明 既定値
名前サービスのルートコンテキストを表す文字列形式のオブジェクトリファレンスを指定することができます。指定するオブジェクトリファレンスは下記のような文字列です。
IOR:010000000d0....
NameServiceIORは、ORB.init()を呼び出す時のプロパティ値を変更することで、ORBインスタンス毎に異なる設定をすることができます。
指定しない

jp.co.nec.orb.ORBDefaultInitRef
説明 既定値
初期サービスのオブジェクトを以下の形式で指定します。
-ORBInitRef <ObjectID>=<ObjectURL>

プログラムがorg.omg.CORBA.ORB.resolve_initial_referencesメソッドを使用して初期サービスのオブジェクトリファレンスを取得する場合に有効です。この指定が行われると、org.omg.CORBA.ORB.resolve_initial_referencesメソッドは、ObjectIDが渡されたときにObjectURLが表わすオブジェクトリファレンスを返します。 ORBInitRefは、ORB.init()を呼び出す時のプロパティ値を変更することで、ORBインスタンス毎に異なる設定をすることができます。
指定しない

jp.co.nec.orb.ORBSubNetMask
説明 既定値
org.omg.CORBA.ORB.resolve_initial_referencesが呼び出されたとき、Object Broker Javaはサービスを提供しているホストを調べます。このとき、サービスを提供しているホストが指定されていなければ、ブロードキャストを行ってホストを探し出そうとします。ブロードキャストを行うと、要求されているサービスが存在しているホストのOADが返事を返します。このときのブロードキャストするためのサブネットマスクをORBSubNetMaskに指定します。ORBSubNetMaskの設定値は、必ず自分のネットワークのサブネットマスクに合わせる必要があります。 255.255.255.255

jp.co.nec.orb.PooledThreadNumber
説明 既定値
サーバ処理のスレッドポリシーとしてPooledThreadを選択した場合(jp.co.nec.orb.ThreadPolicy=PooledThread時)、クライアントからの要求をパラレル処理するプールスレッド数(1以上)を指定します。 0以下の値、もしくは指定しない場合は既定値(10)で動作します。 10

jp.co.nec.orb.PropertyFile
説明 既定値
プロパティ定義を記述したプロパティ定義ファイル名を指定します。自動起動などの環境によっては絶対パス名での指定が必要になる場合があります。プロパティ定義ファイルへの記述は下記のようになります。
プロパティ名=プロパティ値

プロパティ定義ファイルではコメントの記述も可能です。'#'を行の先頭または途中に記述することでコメントとみなされます。ただし行の途中でのコメントの記述では、'#'の前に必ず空白またはタブを挿入してください。 PropertyFileは、ORB.init()を呼び出す時のプロパティ値を変更することで、ORBインスタンス毎に異なる設定をすることができます。
指定しない

jp.co.nec.orb.ServerAddr
説明 既定値
複数のネットワークと接続しているサーバホストについて、クライアントからの要求を受け付けるアドレスを特定するために指定します。サーバホストのアドレスは、「host.nec.co.jp」のようなホスト名か、「10.8.45.84」のようなIPアドレスの文字列表現で指定します。後述のUseHostNameプロパティでyesが指定されていない場合は、ServerAddrをホスト名で指定していてもIPアドレス形式に変換されます。 指定しない

jp.co.nec.orb.ServerCertAlias
説明 既定値
JSSEで使用するサーバ証明書の鍵の別名を設定します。証明書ファイルがJKS形式の場合のみ必要です。 指定しない

jp.co.nec.orb.ServerCertAliasPassPhrase
説明 既定値
JSSEで使用するサーバ証明書の鍵の別名のパスワードを設定します。証明書ファイルが JKS 形式の場合のみ必要です。 指定しない

jp.co.nec.orb.ServerCertKey
説明 既定値
JSSEで使用するサーバ証明書のファイル名を設定します。SSL通信を使用する場合、必ず設定してください。 指定しない

jp.co.nec.orb.ServerCertKeyFileType
説明 既定値
JSSEで使用するサーバ証明書のファイルの形式を設定します。PKCS12 もしくは JKS を指定することができます。 PKCS12

jp.co.nec.orb.ServerCertKeyPassPhrase
説明 既定値
JSSEで使用するサーバ証明書のファイルのパスワードを設定します。 指定しない

jp.co.nec.orb.ServerCertKeyType
説明 既定値
JSSEで使用するサーバ証明書の鍵の形式を設定します。このプロパティを指定しない場合は DSA が既定値として選択されます。 DSA

jp.co.nec.orb.ServerPort
説明 既定値
クライアントからの接続を固定のポート番号で待ち合わせる場合に指定します。

(注)WebOTXシステムでは、誤動作を招く恐れがあるため、このプロパティは設定しないでください。
システムによって自動で設定される

jp.co.nec.orb.SoKeepAlive (KEEPALIVE)
説明 既定値
SO_KEEPALIVEソケットオプションを指定します。 次の値を設定することができます。

true - 有効
false - 無効

このプロパティは、プロセス(VM)内で、また、クライアント側、サーバ側で共通の設定となります。
true

jp.co.nec.orb.SoLinger
説明 既定値
SO_LINGERソケットオプション(linger-on-close タイムアウト値(秒))を指定します。 このプロパティは、プロセス(VM)内で、また、クライアント側、サーバ側で共通の設定となります。 -1

jp.co.nec.orb.SoRcvBuf
説明 既定値
SO_RCVBUFソケットオプション(着信ネットワーク入出力用としてプラットフォームで使われるバッファのサイズ(バイト))を指定します。 このプロパティは、プロセス(VM)内で、また、クライアント側、サーバ側で共通の設定となります。 8192

jp.co.nec.orb.SoReuseAddr
説明 既定値
SO_REUSEADDRソケットオプションを指定します。 このプロパティは、プロセス(VM)内で、また、クライアント側、サーバ側で共通の設定となります。 true

jp.co.nec.orb.SoSndBuf
説明 既定値
SO_SNDBUFソケットオプション(送信ネットワーク入出力用としてプラットフォームで使われるバッファのサイズ(バイト))を指定します。 このプロパティは、プロセス(VM)内で、また、クライアント側、サーバ側で共通の設定となります。 8192

jp.co.nec.orb.SoTimeout
説明 既定値
SO_TIMEOUTソケットオプション(単位:ミリ秒)を指定します。このプロパティは、プロセス(VM)内で、また、クライアント側、サーバ側で共通の設定となります。 0

jp.co.nec.orb.SSLCipherSuites
説明 既定値
SSLで利用するCipherSuitesの種類を指定します。使用する各CipherSuitesを":"で区切って指定します。指定可能なCipherSuitesについてはSunのJSSEリファレンスガイドを参照ください。 JSSE を使用し、このプロパティを指定しない場合は JSSE の既定値にしたがいます。

jp.co.nec.orb.SSLPort
説明 既定値
SSLを用いた通信で使用するポート番号を指定します。 サーバ側で有効です。
0以上の値を指定した場合はSSLを使用して通信します。0を指定した場合はポート番号をシステムが自動で割り当てます。 ospprxyを利用してapplet上でサーバを作成する場合は0を指定してください。 1以上を指定した場合は、ポート番号に指定された値が使用されます。指定しない場合はSSLによる通信を行いません。
指定しない

jp.co.nec.orb.SSLProvider
説明 既定値
SSL通信で使用する製品を指定します。次の値を設定することができます。

SSL-J
JSSE
JSSE

jp.co.nec.orb.TcpNoDelay (jp.co.nec.orb.TCPNODELAY)
説明 既定値
TCP_NODELAYソケットオプションを指定します。 次の値を設定することができます。

true - 有効
false - 無効

TCP_NODELAYソケットオプションが無効な場合、TCPプロトコルのアルゴリズムにより、送信データがある一定量溜まるまで送出が遅延することがあります。 既定値trueのままであれば、送出が遅延することはありません。
このプロパティは、プロセス(VM)内で、また、クライアント側、サーバ側で共通の設定となります。
true

jp.co.nec.orb.ThreadPolicy
説明 既定値
サーバ処理のスレッドポリシーを選択します。 次の値を設定することができます。

PerClientThread - クライアント単位にスレッドを生成し、そのスレッド上でクライアントからの要求をシリアルに処理します
PooledThread - クライアントからの要求をあらかじめプールされた複数のスレッドに配分してパラレルに処理します

PerClientThreadの場合、クライアントが異なれば、スレッドも異なるため、それらの要求はパラレルに処理します。
PooledThreadの場合、プールスレッドは、クライアント単位ではなく、クライアント全体で共通のものです。また、その数は既定値(10)ですが、プロパティPooledThreadNumberによって変えることができます。
ThreadPolicyを指定しない場合、既定値(PerClientThread)で動作します。
PerClientThread

jp.co.nec.orb.TrustedCACerts
説明 既定値
JSSEで使用する信頼するCA証明書のファイル名を設定します。 指定しない

jp.co.nec.orb.TrustedCACertsFileType
説明 既定値
JSSEで使用する信頼するCA証明書のファイルの形式を設定します。DER もしくは JKS を指定することができます。PEM 形式の場合は DER と指定してください。 DER

jp.co.nec.orb.TrustedCACertsPassPhrase
説明 既定値
JSSEで使用する信頼するCA証明書のファイルのパスワードを設定します。証明書ファイルが JKS 形式の場合のみ必要です。 指定しない

jp.co.nec.orb.UseCodeBase
説明 既定値
コードベースダウンロード機能を使用するかどうかを指定します。使用する場合は true、使用しない場合は false を指定してください。 false

jp.co.nec.orb.UseCSI
説明 既定値
CSIv2 機能を使用するかどうかを指定します。使用する場合は true を指定します。使用しない場合は false を指定します。 false

jp.co.nec.orb.UseDynamicStub
説明 既定値
RMI-IIOP のダイナミック・プロキシによる通信モードを有効にするかどうかを指定します。falseの場合は、Stub/Tieを事前に生成する必要があります。

true(既定値) - RMI-IIOP のダイナミック・プロキシによる通信モードを有効にします
false - RMI-IIOP のダイナミック・プロキシによる通信モードを無効にします
true

jp.co.nec.orb.UseFragment
説明 既定値
メッセージをフラグメントに分割して送信するかどうかを設定します。

true - フラグメントに分割して送信する
false - フラグメントに分割しないで一括して送信する

trueを指定した場合、ストリームが持つバッファのサイズ以上のデータを送信する時には一つのメッセージをバッファサイズ分に分割して送信します。
falseを指定した場合、ストリームが持つバッファのサイズ以上のデータを送信する時にはバッファを拡張してデータを書き込みます。
false

jp.co.nec.orb.UseHostName
説明 既定値
オブジェクトリファレンスのホスト名に、デフォルトホスト名を無変換で設定するか否かを指定します。 ServerAddrプロパティでIPアドレス形式のホスト名が指定されている場合は、本プロパティの指定内容に関わらず、常にIPアドレス形式のホスト名がオブジェクトリファレンスに設定されます。 次の値を設定することができます。

yes - デフォルトホスト名を無変換で設定する
no - デフォルトホスト名をIPアドレス形式に変換して設定する
no

jp.co.nec.orb.VersionCompatible
説明 既定値
ライブラリの互換バージョンを指定します。R6.x およびそれ以前のバージョンの Object Broker (ObjectSpinner) Java™ と相互に接続する場合は、6 を指定してください。R7.10 の Object Broker Java™ と相互に接続する場合は、710 を指定してください。R7.20 の Object Broker Java™ と相互に接続する場合は、7 を指定してください。 8

jp.co.nec.orb.UseMultiConnection (jp.co.nec.orb.MultiConnection)
説明 既定値
オブジェクトリファレンスが多重化されている場合に、クライアント側でコネクションの多重化を行うかどうかを指定します。 多重化を行う場合は true を指定します。多重化を行わない場合は false を指定します。 true

jp.co.nec.orb.UseProfileBodyComponents
説明 既定値
通常、Object Broker Javaでは、IIOP1.1/1.2時のIORコンポーネント情報 (コードセット等)をTAG_MULTIPLE_COMPONENTに格納します。 本プロパティでは、コンポーネント情報をTAG_INTERNET_IOPに含まれるProfileBodyの中に格納するか否かを指定します。この指定はサーバ側でのみ有効となります。 通常は指定する必要はありませんが、他社ORB製品との接続において、 TAG_MULTIPLE_COMPONENTSの情報を認識できないような場合に有効です。次の値を設定することができます。

true - TAG_INTERNET_IOPに格納する
false - TAG_MULTIPLE_COMPONENTに格納する
false

jp.co.nec.orb.UseSSL
説明 既定値
SSLと非SSLの通信を受け付けるサーバにリクエストを発行する際、SSL通信を使用するかどうかを指定します。次の値を設定することができます。

true - SSLを使用した通信を行います
false - SSLを使用しない通信を行います

(注)他社のORBを使用して構築されたサーバと接続する場合は、この設定を使用しないでください。
JSSEがインストールされていればSSLで通信する

jp.co.nec.orb.PoolMarshalClasses
説明 既定値
Value(Javaクラスのインスタンス)をマーシャル・アンマーシャルする際に使用する内部クラスをキャッシュするかどうかを指定します。 キャッシュされた情報は、EJBの配備解除時にクリアされます。CORBAアプリケーションはキャッシュの対象外です。
true - 内部クラスをキャッシュします
false - 内部クラスをキャッシュしません

true

jp.co.nec.orb.PoolMarshalFields
説明 既定値
Value(Javaクラスのインスタンス)のフィールド情報をマーシャル・アンマーシャルする際に使用する内部クラスをキャッシュするかどうかを指定します。 キャッシュされた情報は、EJBの配備解除時にクリアされます。CORBAアプリケーションはキャッシュの対象外です。
true - 内部クラスをキャッシュします
false - 内部クラスをキャッシュしません

true

jp.co.nec.orb.PoolClasses
説明 既定値
通信時に使用するクラスをキャッシュするかどうかを指定します。 キャッシュされた情報は、EJBの配備解除時にクリアされます。 CORBAアプリケーションはキャッシュの対象外です。
true - ロードしたクラスをキャッシュします
false - ロードしたクラスをキャッシュしません

false

org.omg.CORBA.ORBClass
説明 既定値
Object Broker Javaを使用するために必要な設定です。jp.co.nec.orb.OSPORBを指定してください。

(注)WebOTXシステムでは、誤動作を招く恐れがあるため、このプロパティは設定しないでください。
指定なし

org.omg.CORBA.ORBInitialHost
説明 既定値
Object Brokerサービスが動作しているホスト名を設定します。Object Brokerサービスが同じマシン内で動作する場合は、このプロパティを設定する必要はありません。 ORBInitialHostは、ORB.init()を呼び出す時のプロパティ値を変更することで、ORBインスタンス毎に異なる設定をすることができます。 localhost

org.omg.CORBA.ORBInitialPort (jp.co.nec.orb.OadPort)
説明 既定値
OADのポート番号を設定します。Object Brokerサービスのポート番号が初期値設定のままの場合は、このプロパティを設定する必要はありません。 ORBInitialPortは、ORB.init()を呼び出す時のプロパティ値を変更することで、ORBインスタンス毎に異なる設定をすることができます。 9825

org.omg.CORBA.ORBSingletonClass
説明 既定値
Object Broker Javaを使用するために必要な設定です。jp.co.nec.orb.OSPORBSingletonを指定してください。

(注)WebOTXシステムでは、誤動作を招く恐れがあるため、このプロパティは設定しないでください。
指定なし

com.nec.webotx.instanceRoot
説明 既定値
クライアントアプリケーションからドメインごとの設定を参照する場合に、動作するドメインのルートディレクトリ(例:C:\WebOTX\domains\domain1)を設定してください。

(注)WebOTXシステムでは、誤動作を招く恐れがあるため、このプロパティは設定しないでください。
指定なし

1.10.3. Object Broker C++における環境設定

この章ではWebOTX Object Broker C++の環境設定について説明します。

1.10.3.1. 項目の設定方法

次の設定ファイルを編集し、設定値を指定します。

設定ファイル:
${INSTANCE_ROOT}/config/ObjectBroker/orbconf

設定ファイルでは以下の形式で指定します。
<設定名>=<設定値>

例)
ListenBackLog=20

WebOTX Object Broker C++における環境設定項目の一覧を、以下に示します。

名前サーバに関する設定項目:

表1.10.3.1-1
設定名 説明 既定値
NameServiceCheckAlive oadによる名前サーバの定期的な生死確認を行なうかどうかをon / offで指定します。デフォルトはoffです。静止確認時に名前サーバからの応答がない場合は、oadから、名前サーバの情報を削除します。ネットワーク負荷の大きなシステムでは、誤削除を避けるためoffを指定して下さい。 off
NameServiceManagementNDF 壊れているNDFファイルは、別名のファイルに退避されますが、何世代まで退避しておくかを指定します。退避されたNDFファイルは、${OrbRoot}/conf配下に格納されます。
${OrbRoot}については[1.10.1.1. Object Broker共通の設定項目一覧]を参照してください。
2
NameServiceExternalRootContext この設定にtrueを指定したホスト上で動作する名前サーバのルートコンテキストのオブジェクトリファレンスであれば、名前サーバは、どのホスト上で動作する名前サーバのルートコンテキストのオブジェクトリファレンスでの呼び出しでも受け付けます。
falseが指定されている場合、別ホスト上で動作する名前サーバのオブジェクトリファレンスで呼び出されると、名前サーバはCORBA::OBJECT_NOT_EXIST例外を返します。
false

名前サーバを起動するサーバで、NameServiceHostNameにリモートのホスト名を設定する必要がある場合は、名前サーバが起動できるようNameServiceExportHostNameに自ホスト名を設定してください。

キャッシュ名前サーバに関する設定項目:

表1.10.3.1-2
設定名 説明 既定値
CacheNameServiceCheckAlive oadによるキャッシュ名前サーバの定期的な生死確認を行なうかどうかをon / offで指定します。デフォルトはonです。静止確認時にキャッシュ名前サーバからの応答がない場合は、oadからキャッシュ名前サーバの情報を削除します。
ネットワーク負荷の大きなシステムでは、誤削除を避けるためoffを指定して下さい。
off
CacheNameServiceExternalRootContext この設定にtrueを指定したホスト上で動作するキャッシュ名前サーバのルートコンテキストのオブジェクトリファレンスであれば、キャッシュ名前サーバは、どのホスト上で動作するキャッシュ名前サーバのルートコンテキストのオブジェクトリファレンスでの呼び出しでも受け付けます。
falseが指定されている場合、別ホスト上で動作するキャッシュ名前サーバのオブジェクトリファレンスで呼び出されると、キャッシュ名前サーバはCORBA::OBJECT_NOT_EXIST例外を返します。
false

イベントサービスに関する設定項目:

表1.10.3.1-3
設定名 説明 既定値
CosEventBufSize イベントサービスの内部バッファの大きさを指定します。内部バッファとしては、設定値+1を確保しますが、常時使えるのは設定値までとなります。設定できる上限の値は2,147,483,647です(ただし、メモリの許す範囲)。この値を越えた値や負の値を設定してはいけません。 128
CosEventDoHealthCheck trueを指定すると、イベントチャンネルと接続している生産者または消費者との通信がCosEventPollInterval以上途切れると生産者または消費者との接続を切ると同時に接続が切れたことを表わすイベントを各消費者に最優先で送ります。
falseを指定した場合には、この機能は働きません。
false
CosEventPollInterval 上記接続断判定に用いる時間を設定します。
設定できる上限の値は42,929,672,951です。この値を越えた値や負の値を設定してはいけません。
120

共通の設定項目:

表1.10.3.1-4
設定名 説明 既定値
LogIdsInHex trueを設定すると通信ログでのプロセスID、スレッドIDを16進表示します。 false
MaxPathMark LocationForwardプロトコル処理で使われるIORのキャッシュエントリ数を指定します。 5
UseConnectionRetry trueを指定すると、サーバとのコネクションが無効になった場合にリトライを行います。既定値はfalseで、その際はリトライを行いません。 false
RetryForConnectionRoundRobin trueを指定すると、コネクションラウンドロビン利用時に、サーバとのコネクションが無効になった場合にリトライを行います。既定値はfalseで、その際はリトライを行いません。 false
ConnectTimeout コネクション確立のタイマ値(秒)を指定します。既定値は3です。 3
MaxConnectRetry コネクション確立失敗時のリトライ回数を指定します。既定値は10です。 10
MaxMessageSize 受信可能なメッセージの最大サイズを指定します。既定値は、8,388,608バイト(8M)です。 8,388,608

※全体のタイムアウト時間は、(ConnectTimeout × MaxConnectRetry) 秒になります。
ただし、RequestTimeoutの設定がこれより短い場合にはRequestTimeoutの値が使用されます。全体のタイムアウト時間を過ぎるか、コネクトのリトライをMaxConnectRetry回行う間にコネクトができなければ、例外がスローされます。

インプリメンテーション単位のオプション設定:
1サーバプロセスで扱うことのできるインプリメンテーションは通常1つなので、関数での設定ではインプリメンテーション名をCORBA::ORB::__implementation_name関数で1度だけ指定します。各設定関数では指定しません。

これに対し、設定名を使った設定では、どのインプリメンテーションに対しての設定であるかを区別させるためにインプリメンテーション名の後ろに設定する内容を示すキーワードをつなげた設定名を使います。たとえば、サーバパス名の設定時には、

"インプリメンテーション名"PathName

とします。

例)
インプリメンテーション名 : SampleImpl
サーバパス名 : /XXX/YYY/ZZZ

のとき、サーバパス名の設定は

SampleImplPathName=/XXX/YYY/ZZZ

となります。

次の表にある設定はインプリメンテーション単位の設定です。

表1.10.3.1-5
設定内容 設定名/関数 値の種類または範囲 既定値
インプリメンテーション名 設定 なし 任意の文字列 "noname"
関数 __implementation_name (*1)
サーバパス名 設定 "ImplName"PathName サーバパスを表す文字列 ""
関数 __server_path_name (*1)
サーバポート番号 設定 "ImplName"Port 0以上の整数(unsigned short値) 0 (*2)
関数 __server_port (*1)
サーバの活性化方針 設定 "ImplName"ActPolicy "corba_sharedserver"(共有サーバ)
"corba_unsharedserver"
(非共有サーバ)
"corba_persistentserver"
(永続サーバ)
"corba_serverpermethod"
(メソッドごとのサーバ)
共有サーバ
関数 __server_activation_policy (*1) Obi::SharedServer
(共有サーバ)
Obi::UnsharedServer
(非共有サーバ)
Obi::PersistentServer
(永続サーバ)
Obi::ServerPerMethod
(メソッドごとのサーバ)
サーバホスト名 設定 "ImplName"HostName サーバが動作するホスト名 hostnameで返される名前
関数 __server_hostname (*1)
サーバプロセス自動起動引数 設定 なし ORB用引数のみ ORB用引数のみ
関数 __server_argument (*1)
自動起動引数でORBが利用する位置指定 設定 なし 0以上の整数(unsigned long値) 0
関数 __server_argument_index (*1)
サーバプロセスでのスレッド処理方針 設定 "ImplName"ThreadPolicy 指定なし
(サーバはシングルスレッドで実行される)
"permethod"
(サーバはメソッドごとにスレッドを作成して実行される)
"pool"
(サーバはあらかじめ作成されたスレッドで実行される)
サーバはシングルスレッドで実行される
関数 __server_thread_policy (*1) Ob_thr_permethod
(サーバはメソッドごとにスレッドを作成して実行される)

Ob_thr_pool
(サーバはあらかじめ作成されたスレッドで実行される)
Ob_thr_default
(サーバはシングルスレッドで実行される)

※ "ImplName"はインプリメンテーション名を表します。
(*1) クラスCORBA::ORBのメンバ関数
(*2) 0を指定すると実行時にOSが空いているポート番号を割り当てます。0を指定したときだけ自動起動が可能です。0以外を指定するとそのポートが使われます。また、0以外を指定したときは自動起動されません。
(*3) SSLを使用したサーバの自動起動はサポートしていません。

oadでのサーバプロセス自動起動に関するオプション設定:
Object Brokerの既定値の設定ではサーバプロセスが立ち上がっていないときにクライアントがオブジェクトを呼び出すと、oadがサーバプロセスを自動的に立ち上げます。この自動起動に関して、 設定ファイルとは別のファイルを使った設定項目として、以下の2点があります。

クライアントホスト名またはIPアドレスにより当該ホストからの自動起動を許す(許さない)ことを指定できます。
${INSTANCE_ROOT}/config/ObjectBroker配下の次のファイルで記述します。
actallow: 自動起動を許すホストのリスト
actdeny: 自動起動を許さないホストのリスト
これらのファイルはどちらか一方だけでも両方を置いてもかまいません。また、両方置かないことも可能です。ファイルの組み合わせの意味は次のとおりとなります。

表1.10.3.1-6
組み合わせ 意味
actallow、actdenyとも存在しない すべてのホストからの自動起動を許す。
actdenyだけ存在する actdenyに記述されていないホストからの自動起動を許す。
actallowだけ存在する actallowに記述されていないホストからの自動起動は許さない。
両方存在する actdenyに記述されていなくてかつactallowに記述されているホストからの自動起動だけを許す。actallow、actdeny双方に記述されているホストからの自動起動は許さない。どちらにも記述されていないホストからの自動起動は許さない。

2. 自動起動を許す(許さない)ファイルのパス名を指定できます。
${INSTANCE_ROOT}/config/ObjectBroker配下の次のファイルで記述します。
exeallow: 自動起動を許すファイルパス名のリスト
exedeny: 自動起動を許さないファイルパス名のリスト
ホストでの制限同様これらのファイルはどちらか一方だけでも両方を置いてもかまいません。また、両方置かないことも可能です。ファイルの組み合わせの意味は次のとおりとなります。

表1.10.3.1-7
組み合わせ 意味
exeallow、exedenyとも存在しない すべてのファイルの自動起動を許す。
exedenyだけ存在する exedenyに記述されていないファイルの自動起動を許す。
exeallowだけ存在する exeallowに記述されていないファイルの自動起動は許さない。
両方存在する exedenyに記述されていなくてかつexeallowに記述されているファイルの自動起動だけを許す。exeallow、exedeny双方に記述されているファイルの自動起動は許さない。どちらにも記述されていないファイルの自動起動は許さない。

形式)
1行につき1ファイルパス名を記述します。このとき余分な空白を書いてはいけません。
例: /usr/local/bin/adminserverの自動起動を許す場合
exeallowファイル:
/usr/local/bin/adminserver
Object Brokerではオブジェクトリファレンス中にサーバプログラムのファイル名および引数が含まれていますので、安全のためサーバ側での自動起動可能ホスト管理、自動起動可能ファイルパスの管理をしっかり行うことをおすすめします。

なお、ファイル名の同一性判定は単純な文字列としての同一性で判定しています。それゆえ、//bin/rm、/bin/rm、/bin/./rmはそれぞれ別ファイルとして扱われますのでご注意ください。

Object Broker C++では下記のコードセットを利用することができます。

表1.10.3.1-8
設定内容 設定名/引数/関数 値の種類または範囲 既定値
string型のネイティブコードセットの指定 設定名 NativeCodeSet ISO8859-1
(ISO 8859-1:1987; Latin Alphabet No. 1)
JIS_eucJP
(JIS eucJP:1993; Japanese EUC)
OSF_SJIS1
(OSF Japanese SJIS-1)
ISO646
(1991 IRV (International Reference Version))
UTF8
(X/Open UTF-8; UCS Transformation Format 8 (UTF-8))
OSF_SJIS1
(Windows)

JIS_eucJP
(HP-UX, Solaris, Linux)
引数名 -ORBOSPINativeCodeSet
関数 CORBA::ORB::__native_code_set
wchar/wstring型のネイティブコードセットの指定 設定名 NativeCodeSetW UCS2_LEVEL1
(ISO/IEC 10646-1:1993; UCS2, Level 1)
UCS2_LEVEL1
引数名 -ORBOSPINativeCodeSetW
関数 CORBA::ORB::__native_code_set_w
string型のコンバージョンコードセットの指定 設定名 ConversionCodeSets ISO8859-1
(ISO 8859-1:1987; Latin Alphabet No. 1)
JIS_eucJP
(JIS eucJP:1993; Japanese EUC)
OSF_SJIS1
(OSF Japanese SJIS-1)
ISO646
(1991 IRV (International Reference Version))
UTF8
(X/Open UTF-8; UCS Transformation Format 8 (UTF-8))
から重複しない任意の組み合わせ
JIS_eucJP,ISO8859-1,ISO646
(Windows)
OSF_SJIS1,ISO8859-1,ISO646
(HP-UX, Solaris, Linux)
引数名 -ORBOSPIConversionCodeSets
関数 CORBA::ORB::__conversion_code_sets
wchar/wstring型のコンバージョンコードセットの指定 設定名 ConversionCodeSetsW UTF16
(ISO/IEC 10646-1:1993; UTF-16, UCS Transformation Format 16-bit form)
UTF16
引数名 -ORBOSPIConversionCodeSetsW
関数 CORBA::ORB::__conversion_code_sets_w
OSF_SJIS1(シフトJIS)とUTF8のコード変換の指定 設定名 UnicodeEncoding SJIS
(Shift-JIS(SJIS))
CP932
(Windows-31J(CP932))
SJIS

設定方法

[設定]
初期設定はインストーラによって行われます。

[引数]
プログラム起動時の引数で設定する例を以下に示します。キーワードが複数記述されていたときは、最後のものを有効とします。

-ORBOSPINativeCodeSet OSF_SJIS1
-ORBOSPINativeCodeSetW UCS2_LEVEL1
-ORBOSPIConversionCodeSets JIS_eucJP,ISO8859-1,ISO646
-ORBOSPIConversionCodeSetsW UTF16

[関数]
関数で設定する例を以下に示します。設定はCORBA::ORB_init関数呼び出し直後に行います。途中で変更した場合の動作は不定です。コードセットの設定はプロセス単位で行われます。スレッド毎にコードセットを変更することはできません。

CORBA::ORB_ptr orbobj = CORBA::ORB_init(...);
orbobj->__native_code_set("OSF_SJIS1");
orbobj->__native_code_set_w("UCS2_LEVEL1");
Ob_StringSeq conv_cdsets;
conv_cdsets.length(3);
conv_cdsets[0] = CORBA_string_dup("JIS_eucJP");
conv_cdsets[1] = CORBA_string_dup("ISO8859-1");
conv_cdsets[2] = CORBA_string_dup("ISO646");
orbobj->__conversion_code_sets(conv_cdsets);
Ob_StringSeq conv_cdsets_w;
conv_cdsets_w.length(1);
conv_cdsets_w[0] = CORBA_string_dup("UTF16");
orbobj->__conversion_code_sets_w(conv_cdsets_w);

注意:
コードセットを使用するためには、GIOPおよびIIOPのバージョンを1.1以上に設定する必要があります。

GIOP/IIOPに関するオプション設定:
GIOP/IIOPに関する以下の設定項目は、設定ファイルまたは起動時引数(この引数はCORBA::ORB_init関数にそのまま渡します)で指定できます。
引数での指定例)
MyApp -ORBGIOPMinorVersion 1
引数で指定した場合、設定ファイルでの指定より優先されます。

表1.10.3.1-9
設定名/引数 意味 既定値
GIOPMinorVersion GIOPのマイナーバージョンを指定します。GIOP1.0を使用して通信を行うためには、0を指定します。指定可能な値は,0、1、2および3です。 3
-ORBGIOPMinorVersion
IIOPMinorVersion IIOPのマイナーバージョンを指定します。IIOP1.0を使用して通信を行うためには、0を指定します。
ただし、GIOPMinorVersionの設定よりも大きい数字を指定したときは、GIOPMinorVersionと同じ設定になります。 指定可能な値は,0、1、2および3です。
3
-ORBIIOPMinorVersion
UseFragment trueを指定した場合、メッセージ送信時にフラグメント分割します。 false
-ORBUseFragment
AddWcharWidthOctet trueを指定した場合、wcharの直前に長さを示すオクテットを追加します。 true
-ORBAddWcharWidthOctet
AddWstringWidthOctet trueを指定した場合、wstringの各文字の直前に長さを示すオクテットを追加します。 false
-ORBAddWstringWidthOctet
PrepareWcharBOM trueを指定した場合、UTF-16のwchar、wstringのデータをアンマーシャルするときにBOMが付加されたデータとして処理します。 false
-ORBPrepareWcharBOM
PriorToBOMForMultiOctets UTF-16のwchar、wstringのデータをアンマーシャルするときにBOMが付加されていない場合に従うバイトオーダをBOM仕様のバイトオーダとするかメッセージヘッダに指定されているバイトオーダに従うかどうかを指定します。

trueの場合はBOM仕様に従います。
falseの場合はメッセージヘッダに従います。
false
-ORBPriorToBOMForMultiOctets
AllowNullString trueを指定した場合、wstringのデータをマーシャルするときにNULL文字を許します。 false
-ORBAllowNullString
TargetAddress リクエスト送信時に使用するアドレスモードを指定します。
KeyAddr:
ObjectKeyを使用します。
ProfileAddr:
IORを使用します。
ReferenceAddr:
参照アドレス使用します。
KeyAddr
-ORBTargetAddress
LocateReplyAlign8 trueを指定した場合、LocateReplyのとき、ヘッダの後ろで8byteアラインを行います。 true
-ORBLocateReplyAlign8
PrepareWcharBOMAtMarshaling UTF16のwcharおよびwstringのエンコードでBOMを付加するかどうかを指定します。
trueを指定した場合、BOMを付加します。
false
WcharMarshalWithMessageByteorder UTF16のwcharおよびwstringをエンコードするときのバイトオーダを指定します。
trueを指定すると、メッセージのバイトオーダでエンコードします。
falseを指定すると、BigEndian(CORBA仕様)でエンコードします。
true

OpenSSL関連のオプション設定:
C++では、OpenSSL関連の設定は、以下の設定(レジストリ)、またはCORBA::ORB_init()の引数のどちらかで行ないます。
C++のサーバの場合、ServerCertFileとSSLPortの設定が最低限必要です。証明書ファイルにprivate keyが含まれていない場合、private keyも指定する必要があります。Private keyの指定は、以下の設定(レジストリ)または引数で行います。

表1.10.3.1-10
設定名 意味 既定値
ServerCertFile サーバ証明書を格納したファイルを指定する。 なし
ClientCertFile クライアント証明書を格納したファイルを指定する。 なし
ServerCertKeyPassPhrase サーバ証明書のパスフレーズを指定する。 なし
ClientCertKeyPassPhrase クライアント証明書のパスフレーズを指定する。 なし
TrustedCACertsPassPhrase 信頼できるCAの証明書のパスフレーズを指定する。 なし
ServerPrivateKeyFile サーバのprivate keyを格納したファイルを指定する。 なし
ClientPrivateKeyFile クライアントのprivate keyを格納したファイルを指定する。 なし

[引数]
上記設定名に"-ORB"を付加した引数を以下の形式で指定します。
-ORB<設定名> <設定値>
例)
-ORBServerCertFile <証明書を格納したファイル名>

SSLPortとCertRequestについては以下の設定を参照してください。

表1.10.3.1-11
設定内容 設定名/関数 値の種類または範囲 既定値
サーバポート番号(SSL) 設定 "ImplName"SSLPort 1以上の整数(unsigned short値)
0
(SSLを使用しない) (*3)
0
関数 __use_ssl (*1)
クライアントの証明書を要求 設定 "ImplName"CertRequest true/false false

サポートしている証明書のファイルの形式は、PEM形式のみです。SSLPortとCertRequestについては、レジストリで指定する場合は、設定名は、<インプリメンテーション名>を先頭に付加した名前になります。
例)
MyImplSSLPort

IPv6関連のオプション設定:
C++では、IPv6関連の設定は、以下の設定(レジストリ)、またはCORBA::ORB_init()の引数のどちらかで行ないます。

表1.10.3.1-12
設定名 説明 既定値
PreferIPv6Addresses IPv4とIPv6の両方が利用可能な環境で、IPv6のアドレスを優先するかどうかを指定します。trueを指定すると、IPv6アドレスを優先して利用します。falseを指定するとIPv6アドレスを優先します。
注意:ドメインのdomain.ipv6-enable属性の値を変更した場合、本設定値は、domain.ipv6-enable属性の値で上書きされます。Object Brokerのプロセスのみをドメインと異なる動作をさせたい場合には、ドメインのdomain.ipv6-enable属性の値変更後に本設定の値を変更する必要があります。
false
PreferIPv4Stack IPv4のみを利用可能にするかどうかを指定します。trueを指定すると、IPv4のみ利用可能となります(IPv6が利用できる環境でも、IPv6が利用されません)。falseを指定した場合は、IPv4とIPv6の両方が利用可能になります。 false

[引数]
上記設定名に"-ORB"を付加した引数を以下の形式で指定します。
-ORB<設定名> <設定値>
例)
-ORBPreferIPv4Stack true

このほか、Object Broker C++を利用するアプリケーションからドメインごとの設定を参照する場合には、起動時引数(この起動時引数はCORBA::ORB_init()にそのまま渡します)に次の引数を追加してください。

-WOdomain <動作するドメインのルートディレクトリ>
例)
myapp -WOdomain "C:\WebOTX\domains\domain1"

1.11. TPシステム

1.11.1. 運用管理エージェント設定項目・設定方法

TPシステムの設定項目については全てMO化されています。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

1.11.2. TPシステム設定項目一覧

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

TPシステムでは以下のMOを提供しています。それぞれの属性やオペレーションについては、「2. MO定義リファレンス」を参照ください。なお、以下のdotted-name一覧イタリックで記述しているものは該当MOの名前を示しています。

1.12. OLF/TP Adapter

1.12.1. OLF/TP Adapterに関する設定

OLF/TP Adapterを使用するには、OLF/TP Adapterの動作環境についての設定を行う必要があります。OLF/TP Adapterでは、実行時に通信環境定義(OLFAdapter.ini)、端末定義(OLFAdapter.xml)を参照して動作します。これらのファイルは通信に使用するリソース及び接続先の情報を定義しています。

これらの設定に加え、配備記述子(ra.xml)とよばれるOLF/TP Adapterのプロパティを設定する必要があります。配備記述子はJ2EEコネクタアーキテクチャ準拠の設定ファイルで、リソースアダプタのプロパティ情報を設定します。

1.12.2. 通信環境定義(OLFAdapter.ini)

OLF/TP Adapterを使用してバックエンドサーバと通信するには、まず通信に使用するリソースを定義します。通信環境定義は以下のファイルを編集してください。

<OLF/TP Adapterインストールディレクトリ>/Adapter/OLFTP/Run/conf/OlfAdapter.ini

本定義では、以下の情報を定義します。

表1.12.2-1
プロパティ名 既定値 説明
RmtDefinition なし 【必須パラメータ】
端末定義ファイルパス。

例:RmtDefinition = E:\\winnt\\OlfAdapter.xml
UTConnection 4 OLF/TP-UT プロトコルのコネクションの開設可能総数の上限。UTプロトコルを使用して通信する場合に指定してください。
UWConnection 4 OLF/TP-UW プロトコルのコネクションの開設可能総数の上限。UWプロトコルを使用して通信する場合に指定してください。
MaxRecv 4 受信スレッドの最大値。リモート定義におけるdelivery=realtime のコネクションの開設可能総数の上限値である
MaxSession 4 同時開設可能な最大セッション数。UTConnection+UWConnectionの値以上を指定してください。
RequestNum 8 同時送受信可能なオブジェクトの最大数。UTConnection+UWConnectionの値以上を指定してください。
MaxListenerThread 3 非同期受信を実行するスレッド数。1以上を指定してください。
OlfByteBufferNum 8 送受信バッファの最大総数。(UTConnection+UWConnection)×2の値を指定してください。
OlfByteBufferSize 10000 送受信バッファサイズ。送受信データの最大サイズ+64バイトを指定してください
PollingInterval 1000 delivery=polling の受信監視間隔をmsec 単位で指定する。
無通信状態でも監視動作が実行されるため、1,000(1 秒)以上が好ましい。それ以下の値ではwarning がログファイルに出力されます。 【0は指定不可】
TraceLvl ConDis トレースレベルを指定する。以下のシンボルで指定する。

No
トレースを採取しない

ConDis
コネクションの接続・切断レベル

PoolInOut
コネクションプールからの出し入れ(利用状況)

ReqResp
アプリケーションの要求メソッド

ReqRespComplete
アプリケーションからのメソッドの結果

Protocol
セッションレベルのプロトコルプリミティブ

Message
入出力しているバッファの先頭をダンプ。MessageTraceSizeでダンプサイズを指定できる

Debug
デバッグ用
MessageTraceSize 160 TraceLvl=Message で出力されるダンプサイズ。【nolim もしくは任意の正の整数値】
TraceLogDir . トレースやログを出力するディレクトリ。
指定配下にそれぞれ、trace, log というディレクトリが作成され、その中にファイルがサイクリックに複数作成される。−を指定すると、トレースはstdoutに、ログはstderrに、それぞれ出力される。管理環境で動作させる場合は、既定値を使用してください。
TraceSuffix なし トレースやログのファイル名の拡張子を指定します。下記の例のように、;でトレースとログをそれぞれ別々の拡張子とすることができます。

例:TraceSuffix=.txt;.log
→トレースは、trace01.txt 、ログはlog01.log というように出力されます。
TraceLogFileCount 10 保存するログファイルの最大数。【1〜98】
TraceLogFileSize 5000 ひとつのトレースファイルあたりの最大行数。【10〜100,000】
なお、一回のトレース出力で複数行出力されるものは、一行とみなします。たとえばTraceLvl=Messageの送受信ダンプイメージは、 一回が一行とみなします。このため、実際のファイルサイズは指定行より大きくなることがあります。
TraceLogBufferSize 1024 バッファリングするサイズ。【10〜1,048,576】
なお、ログファイルは行単位で即時出力され、バッファリングされません。
TraceFlushingInterval 5 トレースファイルがバッファ内に滞留する最大時間(秒)【1以上】
なお、実際は本値x1000 がPollingInterval(ms)の整数倍となります。
UTport
OLF/TP-UTプロトコルでの着信ポート番号
※着信接続を行う場合に設定します。
UWport
OLF/TP-UWプロトコルでの着信ポート番号
※着信接続を行う場合に設定します。
PortError "terminate"
または、
"ignore"
指定した着信ポートがすでに使用されている、もしくは着信ポートの準備に失敗した場合の動作を指定します。
terminate OLFライブラリの初期化に失敗します。
ignore 失敗した着信ポートは着信不可となり、初期化は成功します。
※着信接続を行う場合に設定します。

(注意:定義を変更する場合は、APサーバを停止してください。また、TraceLogDirなどを既定値から変更した場合はserver.policyファイルに追記が必要です。)

1.12.3. 端末定義(OLFAdapter.xml)

OLF/TP Adapterを使用しての通信相手となるホストの情報を定義します。端末定義は以下のファイルを編集してください。

<OLF/TP Adapterインストールディレクトリ>/Adapter/OLFTP/Run/conf/OlfAdapter.xml

本定義では、以下の情報を定義します。

表1.12.3-1
タグ名 既定値 説明
AckTimeout 5秒 Ack/Conf監視時間を設定します(単位:秒、あるいはnolim、0はnolimと同じ、既定値=5)。
送信時の送達確認の受信待ち時間であり、指定時間以上経過した場合、コネクションが切断されます。また、UWにおけるPLstopも、本時間で監視します。
DefaultRmtDef
RmtDef配下で省略された各エレメントの既定値を設定します。 本定義はRmt定義内に一回だけ記述できますが、省略することもできます。 記述する場合、後続のRmtDefの既定値が、本設定値になります。
配下にもてるエレメントは、次のとおり。RmtAddr, RmtPort, MaxConnection, Type, InitTimeout, AckTimeout, ResendInterval, ResendCount, ReplyTimeout
Delivery polling 非同期メッセージの受信監視の方式を指定します。

polling
OLF/TP Adapterのpolling監視スレッドで、対象となるコネクションをすべて受信監視します。

realtime
対象となるコネクションごとに監視スレッドを用意します。
InitTimeout 30 接続時の活性監視時間を設定します(単位:秒、あるいはnolim、0はnolimと同じ、既定値=30)。 コネクション接続時のDFinit、もしくはPstart、ならびにUWのセッション取得時のPLstartの監視を行います。指定時間以上経過した場合、コネクションは切断され、そのとき発行しているgetSessionは失敗します。
MaxConnection 1 最大接続コネクション数です。
1以上の整数を指定してください。
PoolConnect atRequest OLF/TP-UTプロトコルを使用する場合は、atRequestを指定してください。OLF/TP-UWプロトコルを使用する場合は、initialを指定してください。
ReplyTimeout 30 応答時間を設定します(単位:秒、あるいはnolim、0はnolimと同じ)
ResendCount 5 送信再送回数を指定します。
指定回数再送し、受け付けられなければ、送信失敗となります。
ResendInterval 30 再送間隔を指定します(単位:秒、0は不可)。
TXackあるいはTXconfで、RETRYを受信したとき再送する間隔です。
RmtAddr connect 接続先のアドレスを指定します。
ホスト名(hostsもしくはDNS登録されたもの) あるいはIPアドレス形式で指定必須。
RmtDef
一つの接続先を定義します。各種プロパティで指定していないものは、 DefaultRmtで既定値を指定できます。
配下にもてるエレメントは、次のとおり。
RmtName, RmtAddr, RmtPort, MaxConnection, Type, Delivery, PoolConnect, InitTimeout, AckTimeout, ResendInterval, ResendCount, ReplyTimeout
RmtName
接続先のシンボリック名を指定します。
本値は配備記述子のServerNameで指定します。
本エレメントはRmtDef配下で必須であり、値はリモート定義全体で一意でなければなりません。
本エレメントはDefaultRmtDef配下で指定できません。
RmtPort 設定していても参照されない。
(ConnectWay="connect" 時にのみ必須である)
接続先の着信ポートを指定します。
ConnectWay "accept" 接続方法を指定します。
発信時はconnect(既定値)、着信時はacceptを指定します。
Type
セッションの種別を指定します。

UT-stateful
OLF/TP-UTプロトコルを使用する場合に指定します。

UW
OLF/TP-UWプロトコルを使用する場合に指定します。

(注意:定義を変更する場合は、APサーバを停止してください。)

1.12.4. 配備記述子(ra.xml)

OLF/TP Adapterのプロパティを指定するファイルです。OLF/TP Adapterのプロパティは、<config-property>タグで指定します。管理環境にOLF/TP Adapterを配備する場合は、配備ツールでプロパティを設定します。非管理環境でOLF/TP Adapterを利用する場合は、サンプルのra.xmlをテキストエディタで編集してください。

OLF/TP Adapterのプロパティを以下に示します。

(注:大文字/小文字は区別されます)

表1.12.4-1
プロパティ名 既定値 説明
ASync java.lang.Boolean false OLF/TP Adapterで非同期電文受信を行う場合にtrueを指定します。
CodeType java.lang.String "JIPSE" 接続先ホストが使用しているコード種別を指定します。以下のコード種別が指定できます。(省略可)
  • JIPSE
  • JIPS
  • SJIS
  • EUC
EndianType java.lang.String "big-endian" 接続先ホストのendianタイプを指定します。指定できる値は以下の通りです。
  • big-endian
  • little-endian
ExecutionTimeout java.lang.Integer 60000 受信待ち時間をミリ秒単位で指定します(省略可)。InteractionSpecのExecutionTimeoutに-1を指定している場合、本指定を受信待ち時間として使用します。OLF/TP Adapterでは秒単位で受信を待ち合わせます。よって、待ち時間はExecutionTimeout/1000(秒)となります。0を指定した場合は受信が完了するまでAPコンポーネントに制御が戻りません。
HostType java.lang.String "ACOS4" 接続先のホスト種別を指定します(省略可)。以下のホスト種別が指定できます。
  • ACOS2
  • ACOS4
  • ACOS6
  • Windows
  • UNIX
JISType java.lang.String "JIS78" JIS年度を指定します(省略可)。本指定はCodeTypeが"JIPSE"、"JIPS"のときのみ有効です。以下の値が指定できます。
  • JIS78
  • JIS90
JMSConnection
FactoryName
java.lang.String "" 非同期電文受信機能を使用する場合、JMSのQueueConnectionFactoryのJNDI名を指定します。
LIName java.lang.String "" 業務ログイン済みのコネクションをプーリングする場合に指定します(省略可)。接続先業務名を指定します。
VDName java.lang.String "" VDログイン済みのコネクションを作成する場合に指定します(省略可)。VD名を指定します。
OLFConfigFile java.lang.String "" 通信環境定義(OLFAdapter.ini)ファイルのパスを絶対パスで指定します。日本語を含むファイルパスを指定してはいけません。

例:E:\\winnt\\OlfAdapter.ini
PackageName java.lang.String "" 電文フォーマットクラス、レコードマッピングクラスのパッケージ名を指定します(省略可)。
ProtocolType java.lang.String "UT" 通信プロトコルを指定します(省略可)。指定できる値は以下の通りです。
  • UT
  • UW
QueueName java.lang.String "" 非同期電文受信機能を使用する場合、JMSのQueueのJNDI名を指定します。
ServerName java.lang.String "" 接続先ホスト名を指定します。接続先ホスト名は、端末定義(OLFAdapter.xml)で定義しておく必要があります。
着信接続を行う場合にはタグそのものを記述しません。
TraceLevel java.lang.Integer 0 トレースレベルを指定します(省略可)。指定できる値は以下の通りです。
  • 0…エラートレース
  • 1…エラートレース+CCIトレース
  • 2…エラートレース+CCIトレース+SPIトレース
APサーバがJ2EEコネクタのトレース機能をサポートしている場合、APサーバで指定したファイルにトレースを出力します。APサーバがトレース機能をサポートしていない場合は標準出力にトレースを出力します。
TXIDLength java.lang.Integer 8 OLF/TP Adapterでは、OLF/TPの拡張領域に含まれているトランザクションIDを使用して受信データの解析を行います。 受信電文にOLF/TPの拡張領域が含まれていない場合、OLF/TP Adapterでは、ユーザデータ中の任意のフィールドをトランザクションIDとして扱います。 本プロパティでは、電文中に含まれるトランザクションIDの長さを指定します(省略可)。
TXIDPosition java.lang.Integer 0 OLF/TP Adapterでは、OLF/TPの拡張領域に含まれているトランザクションIDを使用して受信データの解析を行います。 受信電文にOLF/TPの拡張領域が含まれていない場合、OLF/TP Adapterでは、ユーザデータ中の任意のフィールドをトランザクションIDとして扱います。 本プロパティでは、電文中に含まれるトランザクションIDの位置を指定します(省略可)。
UserName java.lang.String "" QueueConnectionを作成時のユーザ名を指定します(指定がない場合でも動作可能)
Password java.lang.String "" QueueConnectionを作成時のパスワードを指定します(指定がない場合でも動作可能)
RecordType java.lang.String "IndexedRecord" 非同期受信データ型を指定します。IndexedRecordとMappedRecordを指定可能です。デフォルトは、 IndexedRecord です。
UnpackType java.lang.String "EBCDIC_EBCDIC" 文字集合と符号の組み合わせを指定します。指定できる組み合わせは以下の通りです。
  • EBCDIC_EBCDIC…文字集合=EBCDIC/符号=EBCDIC(ACOS4)
  • ASCII_EBCDIC…文字集合=ASCII/符号=EBCDIC(ACOS4以外)
  • ASCII_ASCII…文字集合=ASCII/符号=ASCII(ACOS4以外MF-COBOL)

1.13. Working Domain Coordinator

Working Domain Coordinatorに関する設定について説明します。

1.13.1. Working Domain Coordinator全般の設定項目・設定方法

Working Domain Coordinatorの設定項目については全てMO化されています。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

補足:

設定された属性はそれぞれ以下のディレクトリ配下に格納されます。

Working Domain coordinator ${INSTANCE_ROOT}/config/persistent-mbean/WorkingDomainCoordinator
ビジネスロジックグループ ${INSTANCE_ROOT}/config/persistent-mbean/WDCControlledBusinessLogicGroup
ビジネスロジック ${INSTANCE_ROOT}/config/persistent-mbean/WDCControlledBusinessLogic
ロードバランサ ${INSTANCE_ROOT}/config/persistent-mbean/WDCLoadBalancer
制御対象サーバ ${INSTANCE_ROOT}/config/persistent-mbean/WDCControlledServer
制御対象ドメイン ${INSTANCE_ROOT}/config/persistent-mbean/WDCControlledDomain

また、各MOの名前の一覧情報を以下のファイルに格納しています。

ビジネスロジックグループ ${INSTANCE_ROOT}/config/wowdc/businesslogicgroups.properties
ビジネスロジック ${INSTANCE_ROOT}/config/wowdc/businesslogics.properties
ロードバランサ ${INSTANCE_ROOT}/config/wowdc/loadbalancers.properties

また、ワーキングドメインコーディネータ停止時の各サーバにおけるドメイン稼働状況を次のファイルに格納しています。

${INSTANCE_ROOT}/config/wowdc/domain-status.properties

これらのファイルの内容には、手を加えないでください。

1.13.2. Working Domain Coordinatorに関する設定

以下はMOで設定可能な Working Domain Coordinator 設定項目の一覧です。

Dottedname : server.workingDomainCoordinator

表1.13.2-1
属性名
[attribute-name]
説明 既定値
ドメイン停止の待ち合わせ時間
[domainStopWaitingTime]
制御対象ドメイン停止時の待ち合わせ時間(単位:ミリ秒)です。
現在、この設定は無効です。この値を設定しても、ドメイン停止の待ち合わせは行われません。
1
ログレベル
[logLevel]
Working Domain Coordinatorのログレベルです。
指定されたレベルでのロギングを有効にすると、より高いすべてのレベルでのロギングも有効になります。レベルは降順で次のとおりです。
SEVERE : 重大な障害を示すメッセージを出力します。
WARNING : 潜在的な問題を示すメッセージを出力します。
INFO : 動作に関する主なメッセージを出力します。
CONFIG : 静的な構成メッセージを出力します。
FINE : トレースメッセージを出力します。
FINER : 詳細なトレースメッセージを出力します。
FINEST : FINERよりも詳細なトレースメッセージを出力します。
なお、OFFを指定するとログは出力されません。
INFO
ドメイン切替時のワーカスレッド最大値
[maxThreads]
ドメイン切り替え時のワーカスレッド数の最大値です。
10
ドメイン切替時のワーカスレッド最小値
[minThreads]
ドメイン切り替え時のワーカスレッド数の最小値です。 2
ドメインの稼働状況の永続化
[enabledPersistence]
ドメインの稼働状況の永続化を行うかどうかを指定します。TRUE(永続化する)の場合、ワーキングドメインコーディネータ停止時の各サーバにおけるドメイン稼動状況を保存したファイル(${INSTANCE_ROOT}/config/wowdc/domain-status.properties)の内容を元に、クラスタドメインを含めた全ドメインの再起動時にドメインの稼動状態を復元します。なお、ファイルが壊れていた場合や読み込みに失敗した場合は、その旨の警告ログを出力し、現在のドメイン起動状況のまま運用を継続します。 TRUE(永続化を行う)


1.13.3. ビジネスロジックグループに関する設定

以下はMOで設定可能なビジネスロジックグループの設定項目の一覧です。

Dottedname : server.workingDomainCoordinator.businessLogicGroups.group-name

group-nameには、ビジネスロジックグループ名が設定されます。

表1.13.3-1
属性名
[attribute-name]
説明 既定値
ビジネスロジックグループ名
[businessLogicGroupName]
ビジネスロジックグループ名です。この名前を変更しないでください。 なし
キュー滞留数上限値
[maxQueuingRequests]
キュー滞留数上限値を指定します。定期監視および、サンプリング監視時、キュー滞留数がキュー滞留数上限値を上回った場合、高負荷状態とみなされます。 20
定期監視間隔
[observationInterval]
キュー滞留数の定期監視間隔(単位:秒)を指定します。 600
高負荷時監視間隔
[sampleObservationInterval]
キュー滞留数の上限値を超える高負荷な状態での監視間隔(単位:秒)を指定します。定期監視で高負荷とみなされた場合、監視の間隔をこの間隔に切り替え、キュー滞留数のサンプリングの採取を行います。 60
高負荷時サンプリング回数
[sampleObservationCount]
高負荷時のサンプリング回数を指定します。定期監視で高負荷とみなされた場合、監視の間隔を高負荷時監視間隔に切り替え、この回数分、キュー滞留数のサンプリング採取を行います。 10
高負荷検出率
[highLoadRate]
高負荷検出率を指定します。高負荷時のサンプリング回数分、キュー滞留数の監視を行い、キュー滞留数上限値を超えた回数がこの率を超えた場合、継続的な高負荷状態とみなし、ビジネスロジックの切り替えを行います。 60
優先度
[priority]
優先度を指定します。切り替え処理が行われる際、停止対象となるビジネスロジックの選択のパラメータとなります。この値が低いビジネスロジックから切り替えの対象となります。また、この値に5が設定されている場合は、切り替えの対象となりません。 1
稼動サーバ数上限値
[maxServers]
稼動サーバ数の上限値を指定します。継続的な高負荷状態にあるビジネスロジックが動作するサーバ数が、既にこの稼動サーバ数上限値に達している場合、切り替え処理は行われません。 1
稼動サーバ数下限値
[minServers]
稼動サーバ数の下限値を指定します。切り替え処理で停止対象となったビジネスロジックが動作するサーバ数が、停止後、稼動サーバ数下限値を下回る場合、切り替え処理は行われません。 1
障害発生後の負荷分散装置への再登録を自動で行うかどうか
[autoRegisterToLBAfterRecovery]
障害発生後の負荷分散装置への再登録を自動で行うかどうかを指定します。 FALSE(自動で行わない)
最低稼働時間
[warmingUpTimeToSwitch]
このビジネスロジックグループが稼動するドメインの最低稼働時間(単位:秒)を指定します。ドメインの稼働時間がこの値を超えない場合、切り替えは行いません。 3600


1.13.4. ビジネスロジックに関する設定

以下はMOで設定可能なビジネスロジックの設定項目の一覧です。

Dottedname : server.workingDomainCoordinator.businessLogicGroups.group-name.businessLogic.logic-name

group-nameには、ビジネスロジックグループ名が設定されます。

logic-nameには、ビジネスロジック名が設定されます。

表1.13.4-1
属性名
(attribute-name)
説明 既定値
ビジネスロジック名
[businessLogicName]
監視の対象となるプロセスグループ名を指定します。 なし


1.13.5. ロードバランサに関する設定

以下はMOで設定可能なロードバランサの設定項目の一覧です。

Dottedname : server.workingDomainCoordinator.loadBalancers.loadbalancer-name

loadbalancer-name には、ロードバランサ名が設定されます。

表1.13.5-1
属性名
(attribute-name)
説明 既定値
ロードバランサ名
[loadBalancerName]
ロードバランサ名です。この名前を変更しないでください。 なし
ロードバランサのホスト名
[hostName]
ロードバランサに接続する時のホスト名です。
ロードバランサがBIG-IPの場合、iControlのエンドポイントのホスト名を指定してください。
なし
ロードバランサのポート番号
[portNumber]
ロードバランサに接続する時のポート番号です。
ロードバランサがBIG-IPの場合、iControlのエンドポイントのポート番号を指定してください。
443
ロードバランサのバージョン
[version]
ロードバランサのバージョンです。
9
ロードバランサのユーザ名
[userName]
ロードバランサの管理者のユーザ名です。
ロードバランサがBIG-IPの場合、 iControlのエンドポイントのベーシック認証用ユーザ名を指定してください。
なし
ロードバランサのパスワード
[password]
ロードバランサの管理者のパスワードです。
ロードバランサがBIG-IPの場合、iControlのエンドポイントのベーシック認証用パスワードを指定してください。
なし
ロードバランサのタイプ
[lbType]
ロードバランサのタイプです。
(1:BIG-IP 999:OTHER)
999(OTHER)
ロードバランサ制御モード
[lbControlMode]
ロードバランサの制御モードです。

1 : LB制御あり
  制御対象ドメインに設定された、ロードバランサの振分先の制御を自動的に行います。ドメイン停止処理時、ロードバランサから振分先を削除するコマンドを発行し、そのドメインに滞留するリクエストがすべて処理されたことを確認した後で、実際の停止を行います。

2 : LB制御なし
  ロードバランサに対して振分先の制御を行いません。振分先の制御は、ロードバランサのヘルスチェック機能により行われます。

3 : LB制御依頼
  ロードバランサの振分先の制御を運用担当者に依頼するモードです。ドメインの切り替えを行う際に、ロードバランサの振分先の制御依頼メッセージをイベントログ(Unixではsyslog)に出力します。運用担当者は、そのメッセージに記載された制御対象ドメインの振分先設定を行ってください。
1(LB制御あり)
振分先追加処理のリトライ回数 [registerToLbCommandRetryMax] 振分先追加処理のリトライ回数を指定します。 1
振分先追加処理の終了の待ち合わせ時間
[registerToLbCommandTimout]
振分先追加処理の終了の待ち合わせ時間(単位:ミリ秒)を指定します。 30
振分先削除処理のリトライ回数
[removeFromLbCommandRetryMax]
振分先削除処理のリトライ回数を指定します。 1
振分先削除処理の終了の待ち合わせ時間
[removeFromLbCommandTimeout]
振分先削除処理の終了の待ち合わせ時間(単位:ミリ秒)を指定します。 30


1.13.6. 制御対象サーバに関する設定

以下はMOで設定可能な制御対象サーバの設定項目の一覧です。

Dottedname : server.workingDomainCoordinator.controlledServers.server-name

server-nameには、制御対象サーバ名が設定されます。

表1.13.6-1
属性名
(attribute-name)
説明 既定値
制御対象サーバ名
[serverName]
制御対象サーバ名を指定します。TCP/IPのホスト名などの識別名を指定してください。 なし
JMX Remote URL
[jmxAdminRemoteURL]
制御対象サーバで動作する管理ドメインと接続するためのJMX Remote URLを指定します。既定値のホスト名やポート番号を必要に応じて変更してください。ドメインに接続を行う際に使用するプロトコルがJMXMPの場合、service:jmx:jmxmp://localhost:6202を指定してください(ホスト名やポート番号は必要に応じて変更してください。) service:jmx:rmi:///jndi/rmi://localhost:6202/
management/rmi-jmx-connector
JMX Remoteのセキュリティ機能の有効化
[jmxAdminRemoteSecure]
管理ドメインと接続する際にJMX Remoteのセキュリティ機能を使用するかどうかを指定します。 FALSE(使用しない)
デフォルトドメイン名
[defaultDomainName]
Working Domain Coordinatorの起動時に、制御対象サーバで制御対象ドメインが1つも起動されていない場合に起動する制御対象ドメイン名を指定します。
Working Domain Coordinatorの停止時、デフォルトドメインの停止は行われません。
domain1
サーバの制御状態
[controlledStatus]
サーバに対するWorking Domain Coordinatorの負荷分散制御状態を表します。読み取り専用の属性です。
0:負荷分散制御中
1:停止制御再開指示待ち
なし
サーバの負荷状態
[serverState]
最大キュー滞留数に対する、制御対象サーバの現在のキュー滞留数の割合の最大値です。
読み取り専用の属性です。
なし


1.13.7. 制御対象ドメインに関する設定

以下はMOで設定可能な制御対象ドメインの設定項目の一覧です。

Dottedname : server.workingDomainCoordinator.controlledServers.server-name.controlledDomains.domain-name

server-nameには、制御対象サーバ名が設定されます。

domain-nameには、制御対象ドメイン名が設定されます。

表1.13.7-1
属性名
(attribute-name)
説明 既定値
制御対象ドメイン名
[domainName]
制御対象ドメイン名を指定します。この名前を変更しないでください。 なし
ビジネスロジックグループ名
[businessLogicGroupName]
ビジネスロジックを束ねるビジネスロジックグループの名前を指定します。 なし
ロードバランサの振分先に追加するコマンド
[domainAdditionalCommands]
ロードバランサの振分先に追加するコマンドや、任意のコマンドを指定することができます。ロードバランサ制御モードがLB制御ありに設定されており、切り替え処理が起動した場合に、発行されるコマンドです。複数のコマンドを登録することができます。コマンドは登録された順番に発行されます。

コマンドの引数に「%WDC_CONNECT_INFO%」を指定すると、コマンド発行時に自動的に対象ドメインへの接続情報
(--host <ホスト名> --port <ポート番号> --protocol=<jmxmp|rmi> --secure=<true|false> )に置換します。

発行するコマンドの存在チェックを以下の順番で行い、実行します。
  1. 絶対パスでコマンドが指定されている。
  2. ${AS_INSTALL}/wowdc/bin からの相対パスでコマンドが指定されている。
テンプレートコマンドを利用する場合、${AS_INSTALL}/wowdc/template から ${AS_INSTALL}/wowdc/bin 配下へコマンドをコピーしてください。
Unixの場合、コピーしたコマンドに実行権限を与えてください。

テンプレートを利用したコマンドの指定例は次の通りです。
「WebContStart.cmd --user admin --passwordfile /opt/WebOTX/wowdc/bin/pass.txt %WDC_CONNECT_INFO% 」

登録するコマンド内で多量のメッセージ出力を行っているとバッファがいっぱいになり、 コマンドがその出力待ちにより途中で止まることがあります。コマンド内でメッセージ出力 する場合はリダイレクトによりファイル出力してください。
なし
ロードバランサの振分先から削除するコマンド
[domainDeleteCommands]
ロードバランサの振分先から削除するコマンドや、任意のコマンドを指定することができます。

ロードバランサ制御モードがLB制御ありに設定されており、切り替え処理が起動した場合に、発行されるコマンドです。複数のコマンドを登録することができます。コマンドは登録された順番に発行されます。
コマンドの引数に「%WDC_CONNECT_INFO%」を指定すると、コマンド発行時に自動的に対象ドメインへの接続情報
(--host <ホスト名> --port <ポート番号> --protocol=<jmxmp|rmi> --secure=<true|false> )に置換します。

発行するコマンドの存在チェックを以下の順番で行い、実行します。
  1. 絶対パスでコマンドが指定されている。
  2. ${AS_INSTALL}/wowdc/bin からの相対パスでコマンドが指定されている。
テンプレートコマンドを利用する場合、${AS_INSTALL}/wowdc/template から ${AS_INSTALL}/wowdc/bin 配下へコマンドをコピーしてください。
Unixの場合、コピーしたコマンドに実行権限を与えてください。

テンプレートを利用したコマンドの指定例は次の通りです。
「WebContStop.cmd --user admin --passwordfile /opt/WebOTX/wowdc/bin/pass.txt %WDC_CONNECT_INFO% 」

登録するコマンド内で多量のメッセージ出力を行っているとバッファがいっぱいになり、 コマンドがその出力待ちにより途中で止まることがあります。コマンド内でメッセージ出力 する場合はリダイレクトによりファイル出力してください。
なし
JMX Remote URL
[jmxRemoteURL]
ユーザドメインと接続するためのJMX Remote URLを指定します。既定値のホスト名やポート番号を必要に応じて変更してください。ドメインに接続を行う際に使用するプロトコルがJMXMPの場合、service:jmx:jmxmp://localhost:6212を指定してください(ホスト名やポート番号は必要に応じて変更してください。) service:jmx:rmi:///jndi/rmi://localhost:6212/
management/rmi-jmx-connector
JMX Remoteのセキュリティ機能の有効化
[jmxRemoteSecure]
ドメインと接続する際に、JMX Remoteのセキュリティ機能を使用するかどうかを指定します。 FALSE(使用しない)
ロードバランサ名
[loadBalancerName]
振分先制御が行われるロードバランサ名を指定します。 なし
振分先のグループ名
[lbGroupName]
ロードバランサの振分先の論理的なグループ名を指定します。
ロードバランサがBIG-IPの場合、プール名を指定してください。プール名が指定されていない場合は、ビジネスロジックグループ名がプール名として使用されます。
なし
振分先ポート番号
[lbPortNumbers]
ロードバランサによって振分が行われるアプリケーションサーバ側のポート番号を指定します。複数設定する場合は、ポート番号をカンマ区切りで入力してください。 80
ドメイン起動の待ち合わせ時間
[startDomainTimeout]
ドメイン起動の待ち合わせ時間(単位:秒)を指定します。 600
ドメイン停止の待ち合わせ時間
[stopDomainTimeout]
ドメイン停止の待ち合わせ時間(単位:秒)を指定します。 600
ロードバランサの振分先に登録済みかどうか
[registeredToLb]
ロードバランサの振分先に登録済みかどうかを指定します。ワーキングドメインコーディネータが関与せず、手動操作等でロードバランサへの振分先に登録・削除が行われた場合、この設定を登録状況に合わせて変更してください。 FALSE(未登録)
ドメインの障害監視を行うかどうか
[enableFailureMonitoring]
ドメインの障害監視を行うかどうかを指定します。proxyドメインで動作する場合は、障害監視を行いません。 TRUE(監視する)
ドメインの障害監視間隔
[failureMonitoringInterval]
ドメインの障害監視間隔(単位:秒)を指定します。負荷監視を行う場合は、この障害監視間隔は使用されません。 600

1.14. データベースコントローラ

データベースコントローラに関する設定について説明します。

1.14.1. データベースコントローラ全般の設定項目・設定方法

データベースコントローラの設定項目については全てMO化されています。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

補足:
設定された属性は、以下のディレクトリ配下に格納されます。

データベースコントローラ ${INSTANCE_ROOT}/config/persistent-mbean/DatabaseController

これらのファイルの内容には、手を加えないでください。

1.14.2. データベースコントローラに関する設定

以下はMOで設定可能な データベースコントローラ 設定項目の一覧です。

Dottedname : server. databaseController

表1.14.2-1
属性名
(attribute-name)
説明 既定値
JDBCデータソース名
[checkDataSourceName]
状態監視を行うJDBCデータソースのJNDIサーバへの登録名を指定します。 なし
データベースの状態監視コマンド
[checkDatabaseCommand]
データベースの状態監視のために使用するSQL命令を指定します。
JDBCデータソースの状態監視コマンドが設定されていない場合に指定してください。SELECT命令など、ロックの競合が発生しないSQL命令を指定してください。
なし
データベースの起動コマンド
[startCommands]
データベースサーバの起動コマンドを指定します。
データベースを開始する場合に、発行されるコマンドです。
複数のコマンドを登録することができます。コマンドは登録された順番に発行されます。
なし
データベースの停止コマンド
[stopCommands]
データベースサーバの停止コマンドを指定します。
データベースを停止する場合に、発行されるコマンドです。
複数のコマンドを登録することができます。コマンドは登録された順番に発行されます。
なし
コマンド発行の待ち合わせ時間
[commandWaitTime]
開始または終了コマンドの待ち合わせ時間を指定します。(単位:ミリ秒) 1000
ドメイン起動時の連動起動使用有無
[startup]
ドメイン起動に連動してデータベース起動を行うかどうかを指定します。 false

既定値について

JavaSE7(JavaDBインストール済)でかつ、WebOTX Developerのテストサーバの場合、 インストール時又はドメイン生成時に JavaSE7 の JavaDB(Apache Derby)を デフォルトの制御対象データベースとして既定値を自動生成します。
既定値の自動生成に合わせて、JDBCデータソース(jdbc/Derby)の自動登録、 JavaSE7 の JavaDB(Apache Derby)に必要な環境変数(DERBY_HOME)の自動設定、 JavaSE7 の JavaDB(Apache Derby)のJDBCドライバの自動コピー (${INSTANCE_ROOT}/lib/ext/derbyclient.jar)が実施されます。
自動生成するデータベースコントローラの既定値は以下の通りです。


表1.14.2-2
属性名
(attribute-name)
既定値
JDBCデータソース名
[checkDataSourceName]
jdbc/Derby
データベースの状態監視コマンド
[checkDatabaseCommand]
なし
データベースの起動コマンド
[startCommands]
Windows:
  %JAVA_HOME%\db\bin\startNetworkServer.bat -h localhost -p 1527

Unix:
  ${JAVA_HOME}/db/bin/startNetworkServer -h localhost -p 1527

     1.7.0_51以降のJava SE 7にバンドルされているJava DBを利用する場合:
Windows:
  %JAVA_HOME%\db\bin\startNetworkServer.bat -h localhost -p 1527 -noSecurityManger

Unix:
  ${JAVA_HOME}/db/bin/startNetworkServer -h localhost -p 1527
データベースの停止コマンド
[stopCommands]
Windows:
  %JAVA_HOME%\db\bin\stopNetworkServer.bat -h localhost -p 1527

Unix:
  ${JAVA_HOME}/db/bin/stopNetworkServer -h localhost -p 1527
コマンド発行の待ち合わせ時間
[commandWaitTime]
1000
ドメイン起動時の連動起動使用有無
[startup]
true

1.15. 共通SSL設定

WebOTXではWebサーバとして、Webコンテナに内蔵されているJavaベースのWebサーバと、WebOTX Webサーバ、IIS、Apache などの外部Webサーバが利用できます。ここでは、Webコンテナに内蔵されているJavaベースのWebサーバ、WebOTX WebサーバでTLS/SSL(以降SSLとします)をプライベートCAを立てずに利用する方法について説明します。

ご参考:SSLアクセラレータ
SSLの暗号化・復号化処理をハードウェアで行い、Webサーバの負荷を軽減する方法があります。これを実現するのが「SSLアクセラレータ」です。SSLアクセラレータは、サーバの拡張スロットに差し込むボード、外付けの専用機、ルータやロードバランサなどのネットワーク機器に内蔵されているものなど、様々なタイプの製品があります。

1.15.1. Webコンテナ内蔵のWebサーバを使う場合

1.15.1.1. CA(認証局)を利用しない場合

WebOTX Webコンテナに内蔵されているWebサーバでSSLを利用する手順について説明します。ここでは、図1.15.1-1のようなファイル構成を仮定して説明します。単方向/双方向認証と実際に使用するファイル名は、動作させる環境に応じて置き換えてください。

16.1
図1.15.1-1

単方向認証を行うためには、サーバのキーストアからサーバ証明書を取り出し、クライアント側のトラストストアへインポートします。 さらに双方向通信を行うためには、単方向通信の設定に加えて、クライアントのキーストアからクライアント証明書を取り出し、サーバ側のトラストストアへインポートします。

以上を設定するための手順として、J2SEのkeytoolコマンドとWebOTXの運用管理コマンド(otxadmin)を利用した場合について説明します。

caution
説明の中で例示しているコマンドが複数行になっていても、必ず1行で実行してください。
  1. サーバ鍵の作成

    J2SEのkeytoolコマンドを利用してサーバ用の鍵を作成します。下にコマンドの例を示します。<DOMAIN_ROOT>はサーバアプリケーションを配備するドメインのルートディレクトリです。ドメインにはじめから設定されているキーストア(keystore.jks)に鍵を追加します。keystore.jksのパスワードは「changeit」です。-dnameオプションのCN属性は必ずサーバのFQDNに一致させなければなりません。

    > keytool -genkey -alias server -dname "CN=server_name, O=X, L=Y, C=XX, OU=YY, S=XY" -keyalg RSA -keypass changeit -storepass changeit -keystore <DOMAIN_ROOT>/config/keystore.jks

  2. サーバ証明書をエクスポート

    サーバの証明書をエクスポートします。

    > keytool -export -alias server -storepass changeit -file server.cer -keystore <DOMAIN_ROOT>/config/keystore.jks

  3. クライアント用キーストア、鍵の作成

    クライアント用のキーストア、鍵を作成します。

    > keytool -genkey -alias client -dname "CN=client_name, O=X, L=Y, C=XX, OU=YY, S=XY" -keyalg RSA -keypass changeit -storepass changeit -keystore client.jks

    双方向SSL(クライアント認証をするとき)には同様に別途キーストアをもう一つ作成します。例ではclientKey.jksとしています。

    > keytool -genkey -alias client -dname "CN=client_name, O=X, L=Y, C=XX, OU=YY, S=XY" -keyalg RSA -keypass changeit -storepass changeit -keystore clientKey.jks

  4. クライアントの証明書のエクスポート

    クライアントの証明書をエクスポートします。これは双方向認証(クライアント認証)をするときのみ必要な作業です。

    > keytool -export -alias client -storepass changeit -file client.cer -keystore clientKey.jks

  5. サーバの証明書をインポート(クライアント)

    クライアントのキーストアにサーバの証明書をインポートします。

    > keytool -import -trustcacerts -alias server -file server.cer -keystore client.jks -keypass changeit -storepass changeit

  6. クライアントの証明書をインポート(サーバ)

    サーバのキーストアにクライアントの証明書をインポートします。これは双方向SSL(クライアント認証をするとき)のみ必要な作業です。

    > keytool -import -trustcacerts -alias client -file client.cer -keystore <DOMAIN_ROOT>/config/keystore.jks -keypass changeit -storepass changeit

  7. SSL設定コマンドの実行

    運用管理コマンドを起動し、サーバアプリケーションを配備するドメインにログインします。続いて、HTTPSリスナのSSLのcertnameを変更します。certnameはSSLの認証に使うエイリアスを指定します。

    ドメインへのログインコマンド

    otxadmin> login --user admin --password adminadmin --port 6212

    create-sslコマンドはSSL構成により、以下のどちらかを実行してください。

    (単方向SSLのとき)

    otxadmin> set server.network-config.protocols.protocol.https-listener.ssl.cert-nickname=server

    (双方向SSLのとき)

    otxadmin> set server.network-config.protocols.protocol.https-listener.ssl.cert-nickname=server
    otxadmin> set server.network-config.protocols.protocol.https-listener.ssl.client-auth-enabled=true

  8. ドメインの再起動

    ドメインを再起動します。

  9. クライアントのキーストアを配置

    クライアント環境にクライアントのキーストアを配置します。

  10. クライアントアプリケーションへのコード追加

    クライアントアプリケーションがJavaアプリケーションの場合、次のコードを追加します。このコードはコンストラクタなどのインスタンス生成直後に実行される場所に追加し、必ずサーバアプリケーション呼び出し処理の前に実行されるようにします。javax.net.ssl.trustStoreキーの値はトラストストアのパスです。クライアントアプリケーションを実行するJava VMのユーザホームディレクトリからの相対パス、または絶対パスで指定します。ただし、クライアントアプリケーションをWebOTX上で動作させる場合は、javax.net.ssl.trustStoreキーを設定しないでください。javax.net.ssl.trustStoreキーとjavax.net.ssl.keyStoreキーの値は、クライアントのキーストアのパスになることに注意し、適宜変更してください。

    なお、System.setPropertyで設定している値は、Java VM 実行時引数に与えることでソースコードの変更を省略できます。また、セキュリティプロバイダ「com.sun.net.ssl.internal.ssl.Provider」はJ2SEの初期値で追加されているため、J2SEのjava.securityファイルの内容を変更していない場合、「java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());」を省略できます。

    (単方向SSLのとき)

    System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
    System.setProperty("javax.net.ssl.trustStore", "keystore/client.jks");
    java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

    (双方向SSLのとき)

    System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
    System.setProperty("javax.net.ssl.trustStore", "keystore/client.jks");
    System.setProperty("javax.net.ssl.keyStore", "keystore/clientKey.jks");
    System.setProperty("javax.net.ssl.keyStorePassword", " changeit");
    java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

  11. nec-ejb-jar.xmlの設定追加

    サーバアプリケーションがWebサービスで、EJBサービスエンドポイントの場合、nec-ejb-jar.xmlのwebservice-endpoint要素にtransport-guarantee要素を追加します。値はINTEGRALかCONFIDENTIALにします。

    <webservice-endpoint>

    <transport-guarantee>INTEGRAL or CONFIDENTIAL</transport-guarantee>
    </webservice-endpoint>

  12. アクセスURL情報確認

    クライアントアプリケーション実行時に指定するURLを次のことに注意して変更します。

 

1.15.1.2. CA(認証局)を利用する場合

WebOTX Webコンテナに内蔵されているWebサーバでCA(認証局)を使用してSSLを利用する手順について説明します。ここでは、図1.15.1-2のようなファイル構成を仮定して説明します。単方向/双方向認証と実際に使用するファイル名は、動作させる環境に応じて置き換えてください。

16.1
図1.15.1-2

単方向認証を行うためには、CA証明書をサーバ側のキーストアとクライアント側のトラストストアへインポートします。 さらに双方向通信を行うためには、単方向通信の設定に加えて、CA証明書をクライアント側のキーストアとサーバ側のトラストストアへインポートします。

以上を設定するための手順として、OpenSSLのca.plコマンドとJ2SEのkeytoolコマンドとWebOTXの運用管理コマンド(otxadmin)を利用した場合について説明します。

  1. サーバ鍵の作成

    CA(認証局)を利用しない場合の手順1.「サーバ鍵の作成」を実行します。

  2. サーバ証明書署名要求(CSR)の作成

    CAに送るためのサーバ証明書署名要求(CSR)を作成します。

    > keytool -certreq -alias server -keystore <DOMAIN_ROOT>/config/keystore.jks -file server_certreq.csr -storepass changeit

  3. プライベートCAを作成する(プライベートCAを利用する場合のみ)

    テスト用の証明書を作成する場合などで独自にCAを利用する場合に行います。 ここではOpenSSLに含まれるca.plを利用します。 任意のCAの情報を入力する必要があります。

    > ca.pl -newca
    Enter PEM pass phrase:
    Verifying - Enter PEM pass phrase:

    Country Name (2 letter code) [AU]:
    State or Province Name (full name) [Some-State]:
    Locality Name (eg, city) []:
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:
    Organizational Unit Name (eg, section) []:
    Common Name (e.g. server FQDN or YOUR name) []:
    Email Address []:
    A challenge password []:
    An optional company name []:

  4. プライベートCAでサーバ証明書を発行する(プライベートCAを利用する場合のみ)

    先に作成したプライベートCAを使ってテスト用の証明書を発行します。

    > openssl ca -policy policy_anything -keyfile demoCA\private\cakey.pem -cert demoCA\cacert.pem -in server_certreq.csr -out server_cert.csr

  5. CA証明書をキーストアにインポートする(サーバ)

    プライベートCAを作成した際の(demoCA\cacert.pem)または正式なCAから入手したCA証明書をキーストアにインポートします。

    > keytool -import -noprompt -trustcacerts -alias cacert -file demoCA\cacert.pem -keystore <DOMAIN_ROOT>/config/keystore.jks -storepass changeit

    cacert.pemの内容が"-----BEGIN CERTIFICATE-----"から始まっていない場合は、先頭から"-----BEGIN CERTIFICATE-----"までの余計な文字列を削除します。

    ↓↓↓削除↓↓↓
    Certificate:

    ↑↑↑削除↑↑↑
    -----BEGIN CERTIFICATE-----

    -----END CERTIFICATE-----
  6. サーバ証明書をキーストアにインポートする(サーバ)

    プライベートCAで発行したサーバ証明書または正式なCAから発行されたサーバ証明書をキーストアにインポートします。 alias名はインポートするキーストアで鍵を生成した際のalias名に合わせます。

    > keytool -import -v -trustcacerts -alias server -file server_cert.csr -keystore <DOMAIN_ROOT>/config/keystore.jks -storepass changeit

    server_cert.csrの内容が"-----BEGIN CERTIFICATE-----"から始まっていない場合は、先頭から"-----BEGIN CERTIFICATE-----"までの余計な文字列を削除します。

  7. CA証明書をトラストストアにインポートする(クライアント)

    プライベートCAを作成した際の(demoCA\cacert.pem)または正式なCAから入手したCA証明書をクライアントのトラストストアにインポートします。

    > keytool -import -noprompt -trustcacerts -alias cacert -file demoCA\cacert.pem -keystore client.jks -storepass changeit

  8. クライアント鍵の作成

    ※これは双方向SSL(クライアント認証をするとき)のみ必要な作業です。

    クライアント用のキーストア、鍵を作成します。 例ではclientKey.jksとしています。

    > keytool -genkey -alias client -dname "CN=client_name, O=X, L=Y, C=XX, OU=YY, S=XY" -keyalg RSA -keypass changeit -storepass changeit -keystore clientKey.jks

  9. クライアント証明書署名要求(CSR)の作成

    ※これは双方向SSL(クライアント認証をするとき)のみ必要な作業です。

    CAに送るためのクライアント証明書署名要求(CSR)を作成します。

    > keytool -certreq -alias client -keystore clientKey.jks -file client_certreq.csr -storepass changeit

  10. プライベートCAでクライアント証明書を発行する(プライベートCAを利用する場合のみ)。

    ※これは双方向SSL(クライアント認証をするとき)のみ必要な作業です。

    先に作成したプライベートCAを使ってテスト用のクライアント証明書を発行します。

    > openssl ca -policy policy_anything -keyfile demoCA\private\cakey.pem -cert demoCA\cacert.pem -in client_certreq.csr -out client_cert.csr

  11. CA証明書をキーストアにインポートする(クライアント)。

    ※これは双方向SSL(クライアント認証をするとき)のみ必要な作業です。

    プライベートCAを作成した際の(demoCA\cacert.pem)または正式なCAから入手したCA証明書をクライアントのキーストアにインポートします。

    > keytool -import -noprompt -trustcacerts -alias cacert -file demoCA\cacert.pem -keystore clientKey.jks -storepass changeit

  12. クライアント証明書をインポートする(クライアント)。

    ※これは双方向SSL(クライアント認証をするとき)のみ必要な作業です。

    プライベートCAで発行したクライアント証明書または正式なCAから発行されたクライアント証明書をクライアントキーストアにインポートします。 alias名は、インポートするキーストアでクライアント鍵を生成した際のalias名に合わせます。

    > keytool -import -v -trustcacerts -alias client -file client_cert.csr -keystore clientKey.jks -storepass changeit

    client_cert.csrの内容が"-----BEGIN CERTIFICATE-----"から始まっていない場合は、先頭から"-----BEGIN CERTIFICATE-----"までの余計な文字列を削除します。

  13. CA証明書をトラストストアにインポートする(サーバ)。

    ※これは双方向SSL(クライアント認証をするとき)のみ必要な作業です。

    プライベートCAを作成した際の(demoCA\cacert.pem)または正式なCAから入手したCA証明書をサーバトラストストアにインポートします。

    > keytool -import -noprompt -trustcacerts -alias cacert -file demoCA\cacert.pem -keystore <DOMAIN_ROOT>/config/cacerts.jks -storepass changeit

  14. SSL設定

    CA(認証局)を利用しない場合の手順7〜12を実行します。

1.15.2. WebOTX Webサーバを使う場合

WebOTX WebサーハでSSLを利用する手順を説明します。

16.2
図1.15.2-1

1.15.2.1. 単方向認証の場合の手順

1.15.2.1.1. CA(認証局)を利用しない場合
(1) WebOTX WebサーバのSSL機能を有効にします。詳細については、「ドメイン構築・基本設定ガイド> 7. WebOTXの内部サービス > 7.6. WebOTX Webサーバ」を参照してください。ここでは、otxadminコマンドを使った設定例を示します。

[コマンド例]
>otxadmin

otxadmin>login --user admin --password adminadmin --port 6212

otxadmin>set server.WebServer.security-enabled=true

caution
loginコマンドの--portオプションはSSLを有効にしたいWebサーバと連動しているドメインに割り当てられたポート番号を指定します。


(2) opensslコマンドを使ってサーバ側の秘密鍵を作成します。秘密鍵は一つのバーチャルサーバにつき一つ作成します。 opensslコマンドは${AS_INSTALL}/WebServer22/bin配下にあります。

[コマンド例]
>openssl genrsa -des3 2048 >vs1.key


(3) 秘密鍵から自己証明書を作成します。コマンド実行後、いくつか聞かれる質問のうち「Common Name (eg, YOUR name) []:」には、必ずバーチャルサーバのFQDNまたはIPアドレスを指定します。

[コマンド例]
>openssl req -new -x509 -days 365 -key vs1.key >vs1.crt


(4) クライアントアプリケーションがJavaアプリケーションの場合、J2SE付属のkeytoolコマンドを使ってクライアント用のトラストストアを作成します。ただし、クライアントアプリケーションをWebOTX上で動作させる場合、およびクライアントアプリケーションをWebブラウザで動作させる場合、この作業は必要ありません。

[コマンド例]
>keytool -genkey -alias client -dname "CN=client_fqdn, O=NEC, L=TOKYO, C=JP, OU=X, S=XY" -keyalg RSA -keypass changeit -storepass changeit -keystore ClientTrustStore.jks

caution
-dnameオプションのCNにはクライアントのFQDNまたはIPアドレスを指定します。
caution
-keyalg、-keypass、-storepassで指定する値は適宜変更してください。
caution
-keystoreで指定している値は、図1.15.2-1に沿ったものです。


(5) サーバの証明書をクライアントにインポートします。トラストストアにインポートする場合は、J2SE付属のkeytoolコマンドを使用します。コマンド実行後、「この証明書を信頼しますか?」という質問には「Y」と答えます。ただし、クライアントアプリケーションをWebOTX上で動作させる場合は、WebOTXのトラストストア(cacerts.jks)にインポートします。また、Webブラウザにインポートする場合は、Webブラウザの証明書インポート機能を使います。

[コマンド例:自作のトラストストアにインポートする場合]
>keytool -import -trustcacerts -alias server -file vs1.crt -keystore ClientTrustStore.jks -keypass changeit -storepass changeit

[コマンド例:WebOTXのトラストストアにインポートする場合]
>keytool -import -trustcacerts -alias server -file vs1.crt -keystore <Domain_ROOT>/config/cacerts.jks -keypass changeit -storepass changeit

caution
-keypass、-storepassで指定する値は適宜変更してください。
caution
自作のトラストストアにインポートする場合に-keystoreで指定している値は、図1.15.2-1に沿ったものです。
caution
<Domain_ROOT>は(1)でSSLを有効にしたWebサーバと連動しているドメインがインストールされたルートフォルダ(ルートディレクトリ)です。


(6) <Domain_ROOT>/config/WebServer/ssl.confをテキストエディタで開き、ServerNameパラメータの値にバーチャルサーバのFQDNまたはIPアドレスとポート番号を、SSLCertificateKeyFileパラメータの値にサーバの秘密鍵ファイルの絶対パスを、SSLCertificateFileパラメータの値にサーバの証明書の絶対パスを指定します。

[パラメータ設定例]
ServerName vs1.nec.com:443
SSLCertificateKeyFile "C:/key/vs1.key"
SSLCertificateFile "C:/crt/vs1.crt"

caution
これらのパラメータは、バーチャルサーバ一つにつき一つのみ設定できます。
一つのバーチャルサーバに対して複数設定しないように注意してください。
caution
<Domain_ROOT>は(1)でSSLを有効にしたWebサーバと連動しているドメインがインストールされたルートフォルダ(ルートディレクトリ)です。


(7) クライアントアプリケーションがJavaアプリケーションの場合、次のコードを追加します。このコードはコンストラクタなどのインスタンス生成直後に実行される場所に追加し、必ずサーバアプリケーション呼び出し処理の前に実行されるようにします。javax.net.ssl.trustStoreキーの値はトラストストアのパスてす。クライアントアプリケーションを実行するJava VMのユーザホームディレクトリからの相対パス、または絶対パスで指定します。ただし、クライアントアプリケーションをWebOTX上で動作させる場合は、javax.net.ssl.trustStoreキーを設定しないでください。
なお、System.setPropertyで設定している値は、Java VM 実行時引数に与えることでソースコードの変更を省略できます。また、セキュリティプロバイダ「com.sun.net.ssl.internal.ssl.Provider」はJ2SEの初期値で追加されているため、J2SEのjava.securityファイルの内容を変更していない場合、「java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());」を省略できます。

[コード例]
java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
System.setProperty("javax.net.ssl.trustStore", "C:/keystore/ClientTrustStore.jks");

[コード例:WebOTX上で動作させる場合]
java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol")


(8) クライアントアプリケーション実行時に指定するURLを次のことに注意して変更します。
(9) (1)でSSLを有効にしたWebサーバと連動しているドメインを再起動します。

 

1.15.2.1.2. CA(認証局)を利用する場合
(1)WebOTX WebサーバのSSL機能を有効にします。詳細については、「ドメイン構築・基本設定ガイド> 7. WebOTXの内部サービス > 7.6. WebOTX Webサーバ」を参照してください。ここでは、otxadminコマンドを使った設定例を示します。
[コマンド例]
>otxadmin

otxadmin>login --user admin --password adminadmin --port 6212

otxadmin>set server.WebServer.security-enabled=true

caution
loginコマンドの--portオプションはSSLを有効にしたいWebサーバと連動しているドメインに割り当てられたポート番号を指定します。


(2)OpenSSLコマンドを使用して、秘密鍵を生成します。ここで秘密鍵を保護するためのパスフレーズの入力を求められます。
[コマンド例]
>openssl genrsa -des3 2048 >vs1.key


(3)(2)で作成した秘密鍵からCSRを作成します。コマンド実行時に秘密鍵作成時に指定したパスフレーズを入力してください。続いてディスティングイッシュネームを入力してください。いくつか聞かれる質問のうち「Common Name (eg, YOUR name) []:」には、必ずバーチャルサーバのFQDNまたはIPアドレスを指定します。
[コマンド例]
>openssl req -new -key vs1.key > vs1.csr


(4)(3)で作成したCSRファイルをエディタで開き、
-----BEGIN CERTIFICATE REQUEST----- から
-----END CERTIFICATE REQUEST----- まで
の記載内容をCA局に送付します。


(5)CSRファイルをCA局に送付後、Secure Server CertificateがCA局から送付されます。送付された内容のうち、
-----BEGIN CERTIFICATE REQUEST----- から
-----END CERTIFICATE REQUEST----- まで
を任意のファイル名(例:vs1.crt)で保存します。


以降は、「CA(認証局)を利用しない場合」の(4)以降の手順を実施してください。

1.15.2.2. 双方向認証の場合の手順

(1) 単方向認証の場合の手順を行います。

(2) クライアントの自己証明書を作成します。ここではJ2SEのkeytoolコマンドを使用します。クライアントの秘密鍵を含んだキーストアを作成し、キーストアから自己証明書をエクスポートします。ただし、クライアントアプリケーションをWebOTX上で動作させる場合は、WebOTXのキーストア(keystore.jks)にキーペアを追加します。また、クライアントアプリケーションをWebブラウザで動作させる場合、ここで作成したキーストアをWebブラウザにインポートします。

[コマンド例]
>keytool -genkey -alias client1 -dname "CN=client_fqdn, O=NEC, L=TOKYO, C=JP, OU=X, S=XY" -keyalg RSA -keypass changeit -storepass changeit -keystore clientKeyStore.jks

> keytool -export -rfc -alias client1 -storepass changeit -file client1.crt -keystore clientKeystore.jks

[コマンド例:WebOTX上で動作させる場合]
>keytool -genkey -alias client1 -dname "CN=client_fqdn, O=NEC, L=TOKYO, C=JP, OU=X, S=XY" -keyalg RSA -keypass changeit -storepass changeit -keystore <Domain_ROOT>/config/keystore.jks

>keytool -export -rfc -alias client1 -storepass changeit -file client1.crt -keystore <Domain_ROOT>/config/keystore.jks

caution
-dnameオプションのCNにはクライアントのFQDNまたはIPアドレスを指定します。
caution
-keyalg、-keypass、-storepassで指定する値は適宜変更してください。
caution
キーストアを作成する場合、-keystoreで指定している値は、図1.15.2-1に沿ったものです。
caution
クライアントアプリケーションがJavaアプリケーションの場合、ここで作成したキーストアを使いますので、削除しないでください。
caution
WebOTXのキーストアは「<Domain_ROOT>/config/keystore.jks」です。
caution
keystore.jksのキーストアパスワードの初期値は「changeit」です。
caution
<Domain_ROOT>は(1)でSSLを有効にしたWebサーバと連動しているドメインがインストールされたルートフォルダ(ルートディレクトリ)です。
caution
クライアントアプリケーションをWebブラウザで動作させる場合、キーストアをpkcs#12形式にしないとインポートできないことが多いことに注意してください。キーストア作成の際に「-storetype」オプションを追加して「pkcs12」を指定すると、キーストアはpkcs#12形式になります。


(3) クライアントアプリケーションがJavaアプリケーションの場合、次のコードを追加します。このコードはコンストラクタなどのインスタンス生成直後に実行される場所に追加し、必ずサーバアプリケーション呼び出し処理の前に実行されるようにします。javax.net.ssl.keyStoreキーの値はキーストアのパスてす。クライアントアプリケーションを実行するJava VMのユーザホームディレクトリからの相対パス、または絶対パスで指定します。ただし、クライアントアプリケーションをWebOTX上で動作させる場合は、javax.net.ssl.keyStoreキーを設定しないでください。また、javax.net.ssl.keyStorePasswordキーの値はキーストアのパスワードに合わせて下さい。
なお、System.setPropertyで設定している値は、Java VM 実行時引数に与えることでソースコードの変更を省略できます。

[コード例]
System.setProperty("javax.net.ssl.keyStore", "C:/keystore/clientKeystore.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "changeit");

[コード例:WebOTX上で動作させる場合]
System.setProperty("javax.net.ssl.keyStorePassword", "changeit");

caution
WebOTXのキーストア「<Domain_ROOT>/config/keystore.jks」のキーストアパスワードの初期値は「changeit」です。
caution
<Domain_ROOT>は(1)でSSLを有効にしたWebサーバと連動しているドメインがインストールされたルートフォルダ(ルートディレクトリ)です。


(4) <Domain_ROOT>/config/WebServer/ssl.confをテキストエディタで開き、SSLCACertificateFileパラメータかSSLCACertificatePathパラメータのどちらか一つを変更してWebサーバにクライアントの証明書を認識させます。クライアントの証明書が一つのときはSSLCACertificateFileパラメータで証明書ファイルの絶対パスを指定します。クライアントの証明書が複数のときはSSLCACertificatePathパラメータで証明書を配置したフォルダ(ディレクトリ)を絶対パスで指定します。また、SSLVerifyClientパラメータの値を「require」に変更します。
なお、Webアプリケーション上でクライアント証明書を取得する場合には、SSLOptions パラメータに「+StdEnvVars +ExportCertData」を指定します。

[パラメータ設定例:クライアントの証明書が一つのとき]
SSLCACertificateFile "C:/crt/client1.crt"
SSLVerifyClient require
SSLOption +StdEnvVars +ExportCertData

[パラメータ設定例:クライアントの証明書が複数のとき]
SSLCACertificatePath "C:/crts"
SSLVerifyClient require
SSLOption +StdEnvVars +ExportCertData

caution
SSLCACertificateFileパラメータとSSLCACertificatePathパラメータは、バーチャルサーバ一つにつきどちらか一つのみ設定できます。両方同時に設定しないように注意してください。
caution
これらのパラメータは、バーチャルサーバ一つにつき一つのみ設定できます。一つのバーチャルサーバに対して複数設定しないように注意してください。


(5) (1)でSSLを有効にしたWebサーバと連動しているドメインを再起動します。

 

1.16. Webサービス

WebOTX Webサービスのコンフィグレーションについて説明します。

1.16.1. Web サービス(JAX-WS)の設定

JAX-WS に関する設定について説明します。

1.16.1.1. タイムアウト設定

JAX-WSクライアントはサーバへの接続に関するタイムアウト時間を設定できます。 この機能を利用することで、一定時間応答のないサーバなどから強制的に切断して、次の処理に移行することができます。

表1.16.1.1-1
システムプロパティ 説明 既定値
com.nec.webotx.webservice.xml.ws.connect.timeout

クライアントがサーバとのコネクションを確立するまでの待ち時間(ミリ秒)を指定します。 例えばサーバが停止している時など、接続が遅延するような場合に中断させることができます。 0は待ち続けます。負の値は無視されます。

30000(ミリ秒)
com.nec.webotx.webservice.xml.ws.request.timeout

リクエストに対するレスポンス返却までの待ち時間(ミリ秒)を設定します。 サーバの高負荷などで遅延するような場合に中断したい場合に利用できます。 0は待ち続けます。 負の値は無視されます。

300000(ミリ秒)
メモ

Javaのシステムプロパティの設定方法は以下を参照してください。

エージェントプロセスで動作する場合

ドメイン構築・基本設定ガイド > 3. ドメイン > 3.8. Java VMオプションの設定

Standard/Enterpriseのプロセスグループで動作する場合

ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.1. TPシステム > 7.1.3. 操作・状態確認(プロセスグループ) > 7.1.3.2. 設定の変更

タイムアウトの設定はコード内で行うことも可能です。コードとプロパティ両方で設定されている場合、コード内で設定している値を優先します。 詳しい設定方法については、 [ アプリケーション開発ガイド(Java EE) > 1. Webサービスアプリケーションの開発 > 1.2. プログラミング・開発ガイド > 1.2.5. Webサービスのカスタマイズ > 1.2.5.1. JAX-WS準拠Webサービスのカスタマイズ ] を参照してください。

JDKのHTTPタイムアウト設定のプロパティ sun.net.client.defaultConnectTimeout、sun.net.client.defaultReadTimeoutは指定されていても影響ありません。


1.16.2. JAX-RPC Web サービスのカスタマイズ

WebOTX JAX-RPC Webサービスのカスタマイズ方法について説明します。

1.16.2.1. タイムアウト設定

JAX-RPCクライアントはサーバへの接続に関するタイムアウト時間を設定できます。 この機能を利用することで、一定時間応答のないサーバなどから強制的に切断して、次の処理に移行することができます。

タイムアウトの設定方法は3種類あります。

  1. WebOTX Webサービス(JAX-RPC)のシステムプロパティ
  2. コード内でのsetterメソッド
  3. JDK標準のシステムプロパティ

Memo
通常、接続タイムアウトはサーバ側の設定により制御されます。3.の設定についてはWebOTX V8.1以前のJAX-RPCエンジンでも利用できます。

複数の設定を行った場合、以下の優先順位で設定が採用されます。複数の設定を行った場合、優先度の高いものが使用されます。優先度は高いものから以下の順になります。

 

  1. WebOTX Webサービス(JAX-RPC)のシステムプロパティ

java実行時にシステムプロパティとして以下を設定することで、HTTPタイムアウトの制御ができます。3.JDKのタイムアウト値と違い、接続するセッションで設定を行っているため他のプログラムへの影響はありません。

表1.16.2.1-1
システムプロパティ名 内容
com.nec.webotx.webservice.http.connect.timeout Webサービスとの接続までの待ち時間です。
com.nec.webotx.webservice.http.read.timeout Webサービスに接続してから応答を待っている時間です。

引数に含める単位はミリ秒です。0を設定した場合、接続を維持してサーバからの応答を待ち続けます。負の値は設定できません。負の値を設定したときは設定が無視されます。

com.nec.webotx.webservice.http.connect.timeoutはクライアントがサーバに接続してコネクションを確立するまでのタイムアウト時間です。 例えばサーバが停止している時など、接続に反応しない場合に何秒でタイムアウトするかを設定できます。

com.nec.webotx.webservice.http.read.timeoutはcom.nec.webotx.webservice.http.connect.timeoutと異なり、接続・リクエスト送信後にレスポンスが返却されるまでの待ち時間を設定できます。 リクエストを送ってもサーバの負荷が高すぎて反応がない場合、強制的に接続を切断したい場合などに利用できます。

実行例
[foo@webotx ~]$ java -Dcom.nec.webotx.webservice.http.connect.timeout=10000 -Dcom.nec.webotx.webservice.http.read.timeout=30000 test.Main

この例の場合、サーバへの接続待ち合わせが10秒、接続してからレスポンスメッセージを受信するまで30秒待ちます。

 

  1. コード内でのsetterメソッド

WebOTX Developerのウィザード、またはwscompileコマンドで生成されるStubインスタンスに対して、以下のメソッドを実行することでタイムアウト値を設定できます。

表1.16.2.1-2
メソッド名 内容
_setConnectTimeout(int timeOut) Webサービスとの接続までの待ち時間です。
_setReadTimeout(int setReadout) Webサービスに接続してから応答を待っている時間です。

引数に含めるintの単位はミリ秒です。0を設定した場合接続を維持してサーバからの応答を待ち続けます。 負の値は設定できません。負の値を設定したときは設定が無視されます。

setConnectTimeoutはクライアントがサーバに接続してコネクションを確立するまでのタイムアウト時間です。 例えばサーバが停止している時など、接続に反応しない場合に何秒でタイムアウトするかを設定できます。

setReadTimeoutはsetConnectTimeoutと異なり、接続・リクエスト送信後にレスポンスが返却されるまでの待ち時間を設定できます。リクエストを送ってもサーバの負荷が高すぎて反応がない場合、強制的に接続を切断したい場合などに利用できます。

設定例
MessageTest_PortType_Stub stub = (MessageTest_PortType_Stub) new MessageTest_Service_Impl().getMessageTestPort();
stub._setConnectTimeout(10000);←追記
stub._setReadTimeout(10000);←追記
stub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY, url);
binding = (MessageTest_PortType)stub;

Caution
WebOTX V8.1以前のバージョンのWebOTX Developerで作成したソースコードを流用している場合、内容が異なるためStubインスタンスにメソッドを記述できません。設定例を参考にStubインスタンスを書きかえるか、プロジェクトを再作成してください。

 

  1. JDK標準のシステムプロパティ

java実行時にシステムプロパティとして以下を設定することで、HTTPタイムアウトの制御ができます。

表1.16.2.1-3
システムプロパティ名 内容
sun.net.client.defaultConnectTimeout Webサービスとの接続までの待ち時間です。
sun.net.client.defaultReadTimeout Webサービスに接続してから応答を待っている時間です。

引数に含める単位はミリ秒です。初期値は-1(設定なし)です。0を設定した場合接続を維持してサーバからの応答を待ち続けます。
この値の詳細はSun JDKに記載されています。「JDK 5.0 ドキュメント」-「ネットワーク機能」-「ネットワークプロパティ」

実行例
[foo@webotx ~]$ java -Dsun.net.client.defaultConnectTimeout=15000 -Dsun.net.client.defaultReadTimeout=20000 test.Main

この例の場合、サーバへの接続待ち合わせが15秒、接続してからレスポンスメッセージを受信するまで20秒待ちます。

Caution
これらの設定はJAX-RPCクライアントが実行されるJVM全体へ設定されます。他にHTTPプロトコルで接続するプログラムがある場合、影響を受ける場合がありますので注意してください。
例えば、JAX-RPCクライアントをServlet上で動作せる時、動作するWebOTXドメインのプロパティに設定した場合にHTTPクライアントとして動作するプログラム(Servlet, EJBなど)全体に反映されます。


1.16.3. SAAJの設定

SAAJ に関する設定について説明します。

1.16.3.1. タイムアウト設定

SOAPクライアントはサーバへの接続に関するタイムアウト時間を設定できます。 この機能を利用することで、一定時間応答のないサーバなどから強制的に切断して、次の処理に移行することができます。

表1.16.3.1-1
システムプロパティ 説明 既定値
com.nec.webotx.webservice.xml.messaging.saaj.connect.timeout

クライアントがサーバとのコネクションを確立するまでの待ち時間(ミリ秒)を指定します。 例えばサーバが停止している時など、接続が遅延するような場合に中断させることができます。 0は待ち続けます。負の値は無視されます。

30000(ミリ秒)
com.nec.webotx.webservice.xml.messaging.saaj.request.timeout

リクエストに対するレスポンス返却までの待ち時間(ミリ秒)を設定します。 サーバの高負荷などで遅延するような場合に中断したい場合に利用できます。 0は待ち続けます。 負の値は無視されます。

300000(ミリ秒)
メモ

Javaのシステムプロパティの設定方法は以下を参照してください。

エージェントプロセスで動作する場合

ドメイン構築・基本設定ガイド > 3. ドメイン > 3.8. Java VMオプションの設定

Standard/Enterpriseのプロセスグループで動作する場合

ドメイン構築・基本設定ガイド > 7. WebOTXの内部サービス > 7.1. TPシステム > 7.1.3. 操作・状態確認(プロセスグループ) > 7.1.3.2. 設定の変更

タイムアウトの設定はコード内で行うことも可能です。コードとプロパティ両方で設定されている場合、コード内で設定している値を優先します。 詳しい設定方法については、 [ アプリケーション開発ガイド(Java EE) > 1. Webサービスアプリケーションの開発 > 1.2. プログラミング・開発ガイド > 1.2.5. Webサービスのカスタマイズ > 1.2.5.1. JAX-WS準拠Webサービスのカスタマイズ ] を参照してください。

JDKのHTTPタイムアウト設定のプロパティ sun.net.client.defaultConnectTimeout、sun.net.client.defaultReadTimeoutは指定されていても影響ありません。


1.16.4. WS-ReliableMessaging Webサービスの設定

以下はMOで設定可能な WebOTX WS-ReliableMessaging 設定項目の一覧です。

Dottedname : server.web-service.ws-rm

表1.16.4-1
属性名
(attribute-name)
get / set コマンドで指定する属性名 説明 既定値
JNDIサーバへの登録名
[RmJndiName]
rm-jndi-name WS-ReliableMessagingで使用するDBのJNDIサーバへの登録名を指定します。
1.8.JDBCデータソース」で設定したJDBCデータソースと対応させる必要があります。
jdbc/WSRM
メッセージ送信の最大スレッド数
[RmMaxThreads]
rm-max-threads WS-ReliableMessaging メッセージの送信で使用する最大スレッド数を指定します。有効な値は0より大きい整数です。 10
DBに格納する最大メッセージサイズ
[RmMaxMessageSize]
rm-max-message-size DBに格納する最大メッセージサイズをMB単位の整数で指定します。
メッセージサイズはSOAPメッセージのエンベロープのサイズにより算出し、プロトコル バインディング ヘッダは計算に含めません。
最大メッセージサイズより大きいメッセージを受信した場合、サービスはメッセージを破棄しエラー終了します。
0の場合は無制限となります。
4
デッドキュー保存期間
[RmDeadQueueStoragePeriod]
rm-dead-queue-storage-period メッセージをデッドキューに保存する期間を分単位で指定します。デッドキューの最終更新日時を起点に、保存期間を過ぎた場合にデッドキューが削除されます。有効な値は0より大きい整数です。 43200(30日)
テーブル名の接頭辞
[RmTableNamePrefix]
rm-table-name-prefix WS-ReliableMessagingで作成するテーブルの接頭辞を8文字以内で指定します。ユーザドメイン毎にWS-ReliableMessagingで使用するテーブルを分けたい場合に使用します。 RMTABLES

1.17. 分散管理サーバ

分散管理サーバに関する設定について説明します。

1.17.1. 分散管理サーバ全般の設定項目・設定方法

分散管理サーバの設定項目については全てMO化されています。項目の設定方法については「1.1. 各サービスの属性」を参照してください。

補足:

設定された属性はそれぞれ以下のディレクトリ配下に格納されます。

ドメイングループ ${INSTANCE_ROOT}/config/persistent-mbean/DomainGroup
${INSTANCE_ROOT}/config/persistent-mbean/WorkingDomainCoordinator
制御対象サーバ ${INSTANCE_ROOT}/config/persistent-mbean/WDCControlledServer
制御対象ドメイン ${INSTANCE_ROOT}/config/persistent-mbean/WDCControlledDomain
分散配備サービス ${INSTANCE_ROOT}/config/persistent-mbean/DDeployment
配備構成 ${INSTANCE_ROOT}/config/persistent-mbean/Constitution
コンポーネント ${INSTANCE_ROOT}/config/persistent-mbean/EJBComponent
${INSTANCE_ROOT}/config/persistent-mbean/JavaEEComponent
${INSTANCE_ROOT}/config/persistent-mbean/ESBComponent
${INSTANCE_ROOT}/config/persistent-mbean/WebComponent
${INSTANCE_ROOT}/config/persistent-mbean/OtherComponent
${INSTANCE_ROOT}/config/persistent-mbean/CORBAComponent
${INSTANCE_ROOT}/config/persistent-mbean/ConstitutionComponent
設定ファイル ${INSTANCE_ROOT}/config/persistent-mbean/ConfigurationFile

これらのファイルの内容には、手を加えないでください。

1.17.2. ドメイングループに関する設定

以下はMOで設定可能な ドメイングループ 設定項目の一覧です。

主に、グルーピングされたドメインに対する運用管理のための設定を含みます。

Dottedname : domain.groups.group-name

group-nameには、ドメイングループ名が設定されます。

表1.17.2-1
属性名
(attribute-name)
説明 既定値
自動的な設定差異検出の有無[enableConsistency] 自動的な設定差異検出を行うかどうかを指定します。
true に設定した場合、ドメイングループ内のドメイン上で設定変更があった場合に、それを示す通知が管理ツールの「イベント通知」欄 に表示されます。
true
設定情報のマスタとなるドメイン[masterDomain] 設定情報のマスタとなるドメインを指定します。
操作「管理対象一覧の更新」を実施する際、その管理対象情報を取得するためのドメインを表します。
なし
設定差異検出の対象リスト[includeConsistency] 設定差異検出の対象リストを指定します。
「自動的な設定差異検出の有無」にチェックがある場合に、ドメイングループ内のドメイン上で更新された設定を検知する管理対象名を 表します。
なし
設定差異検出の除外リスト[excludeConsistency] 設定差異検出の除外リストを指定します。
「自動的な設定差異検出の有無」にチェックがある場合に、ドメイングループ内のドメイン上で更新された設定を検知しない管理対象名 を表します。
なし
ドメイン操作のタイムアウト時間[operationTimeout] ドメイン操作のタイムアウト時間(秒)を指定します。
ドメイングループ内のドメインに対する管理対象に対して設定更新や操作を実施する際の処理タイムアウト時間を表します。
60


以下はMOで設定可能な Working Domain Coordinator 設定項目の一覧です。

主に、グルーピングされたドメインの負荷分散処理に関する設定を含みます。

Dottedname : server.workingDomainCoordinator

表1.17.2-2
属性名
(attribute-name)
説明 既定値
ドメイン停止の待ち合わせ時間
[domainStopWaitingTime]
制御対象ドメイン停止時の待ち合わせ時間(単位:ミリ秒)です。
現在、この設定は無効です。この値を設定しても、ドメイン停止の待ち合わせは行われません。
1
ドメイン切替時のワーカスレッド最大値
[maxThreads]
ドメイン切り替え時のワーカスレッド数の最大値です。
10
ドメイン切替時のワーカスレッド最小値
[minThreads]
ドメイン切り替え時のワーカスレッド数の最小値です。 2


1.17.3. 制御対象サーバ、制御対象ドメインに関する設定

MOで設定可能な制御対象サーバおよび制御対象ドメインの設定項目は、次の内容を参照してください。

Dottedname : domain.groups.group-name.controlledServers.server-name

Dottedname : domain.groups.group-name.controlledServers.server-name.controlledDomains.domain-name

group-nameには、ドメイングループ名が設定されます。

server-nameには、制御対象サーバ名が設定されます。

domain-nameには、制御対象ドメイン名が設定されます。

1.13.6. 制御対象サーバに関する設定

1.13.7. 制御対象ドメインに関する設定



1.17.4. ドメイングループの管理対象に関する設定

以下は、ドメイングループで管理されている管理対象に対する設定項目の一覧です。

Dottedname : domain.groups.group-name.管理対象名(Dottedname)

group-nameには、ドメイングループ名が設定されます。

管理対象名(Dottedname)には、グルーピングされた個々のドメイン上で実在する管理対象(Dottedname)が設定されます。

個々の管理対象については、それぞれに対する本章の各設定一覧の表を参照してください。


1.17.5. 分散配備サービスに関する設定

以下は、MOで設定可能な分散配備サービスの設定項目の一覧です。

Dottedname : domain.ddeployment

表1.17.5-1
属性名
(attribute-name)
説明 既定値
配備制御モード
[controlMode]
配備操作実行時の制御モードを指定します。指定可能な制御モードは次の通りです。

normal(既定値):
配備解除時に配備対象コンポーネントが存在しない場合など、操作と状況が一致しない場合、 警告が発生します。設定ファイルの場合は、属性が見つからないもしくはMOがみつからないことによる例外は無視します。

recovery:
配備失敗後の再配備とみなして既に配備済みの場合に配備をスキップします。設定ファイルの場合は、normalと同じ動作となります。

force:
すでに配備済のコンポーネントも、強制的に再配備を実行します。何らかの例外が発生した場合も、処理を続行します。

strict:
配備時に何らかの警告や例外が発生した場合、エラーとして扱います。

ここで指定した値は分散配備機能全体での既定値となります。
normal
障害が発生した場合の動作
[failureControlLevel]
配備操作の実行時、配備先で障害が発生した場合の動作を指定します。指定可能な動作は次の通りです。

skip:
問題の発生したドメインのみ配備操作を中止する(既定値)
continue:
配備操作を続行する
stop:
配備操作全体を中止する

ここで指定した値は分散配備機能全体での既定値となります。
skip
構成に差異がある場合の動作
[conflictsSkip]
配備先対象サーバが見つからなかった場合、その対象サーバに対する配備操作をスキップするか、エラーとするかを指定します。 true(既定値)の場合、該当サーバへの操作をスキップして、その他のサーバへの配備操作は続行します。falseの場合、エラーとします。 この指定は、ドメイングループ内の各ドメインに対する配備操作単位に判断されます。

エラー発生時、配備操作を続行するかどうかは、属性「障害が発生した場合の動作」の値に従います。

ここで指定した値は分散配備機能全体での既定値となります。
true
配備結果レポートの保存数
[deploymentResultNum]
配備結果を過去何回分レポートに記録するかを指定します。レポートは、配備操作ごとに次のディレクトリに保存されます。

${INSTANCE_ROOT}/ddeploy/result/
10
タイムアウト
[ddeployTimeout]
配備操作のタイムアウトを指定します。ここで指定した値は分散配備機能全体での既定値となります。 3600
ライフサイクル終了時の配備操作キャンセルタイムアウト
[cancelTimeoutAtShutdown]
分散配備ライフサイクルの終了時(プロキシドメインの終了時)に配備操作実行中の場合、操作をキャンセルします。 その際のキャンセルタイムアウトを指定します。0が指定された場合、タイムアウトしません。 20
配備時閉塞オプション
[autoBlockade]
分散配備での配備処理中、自動閉塞するかどうかを指定します。 閉塞する場合、配備対象制御ドメインに登録されているLB制御コマンドを実行します。

noblock(既定値):
閉塞しない。

block:
閉塞する。配備操作前にLB制御コマンド(削除)を実行し、配備操作後にLB制御コマンド(追加)を実行します。 配備操作に失敗した場合は、配備操作後のLB制御コマンド(追加)は実行しません。

errorblock:
配備失敗時に閉塞する。配備操作に失敗した場合に、配備対象ドメインのLB制御コマンド(削除)を実行します。

noblock
配備失敗時の閉塞条件
[blockadeStatus]
配備時閉塞オプションで「配備失敗時に閉塞する」を指定した場合の閉塞条件を指定します。 閉塞の条件は、指定されたドメインの配備結果から選択します。 詳細は、[ 製品構成と提供機能 > 3. 提供機能 > 3.8.3. 分散配備 ] を参照ください。

error(既定値):
ドメインの配備結果が「ERROR」の場合に閉塞します。

timeout:
ドメインの配備結果が「ERROR」「TIMEOUT」の場合に閉塞します。

warning:
ドメインの配備結果が「ERROR」「TIMEOUT」「WARNING」の場合に閉塞します。

canceled:
ドメインの配備結果が「ERROR」「TIMEOUT」「WARNING」「CANCELED」の場合に閉塞します。

error
分散配備サービス起動時にドメイン状態の監視を開始する
[adMonitorAutoStart]
配備操作時に正常に停止していたドメインが起動した際に自動配備を行う場合、定期的にドメイン状態を監視する必要があります。
分散配備サービスの起動時にドメイン状態監視を開始するかどうかを指定します。
true
付属情報
[options]
分散配備操作に関連付けるプロパティを指定します。
(例)
自動配備機能において、自動配備監視対象ドメイン状態監視で対象ドメインの状態を確認する間隔を4000ミリ秒に変更する場合:
名前「ddeploy.invoke.admonitor.interval」値「4000」を指定して追加します。

自動配備機能において、ドメイン起動を認識してから配備操作を実行するまでの間隔を4000ミリ秒に変更する場合:
名前「ddeploy.invoke.admonitor.domain.start.delay.time」値「4000」を指定して追加します。

各コンポーネントの配備操作時のJMX通信のタイムアウト値を500000ミリ秒に変更する場合:
名前「ddeploy.deploy.jmx.timeout」値「500000」を指定して追加します。

配備操作において、アプリケーショングループ・プロセスグループを起動後、起動状態を確認する間隔を5000ミリ秒に変更する場合:
名前「ddeploy.invoke.apg.pg.start.wait.interval」値「5000」を指定して追加します。

配備操作において、アプリケーショングループ・プロセスグループを起動後、起動状態を確認する回数を50回に変更する場合:
名前「ddeploy.invoke.apg.pg.start.wait.interval」値「50」を指定して追加します。

なし


1.17.6. 配備構成に関する設定

以下は、MOで設定可能な配備構成の設定項目の一覧です。

Dottedname : domain.ddeployment.deploymentConstitutions.constitution-name

constitution-name には、配備構成名が設定されます。

表1.17.6-1
属性名
(attribute-name)
説明 既定値
配備構成名
[constitutionName]
配備構成を一意に識別するIDです。 なし
説明
[description]
この配備構成の説明です。 なし
ドメイングループ名
[domainGroupName]
配備構成を関連付けるドメイングループ名を選択してください。後で、配備操作実行時に対象のドメイングループ名を割り当てることも可能です。
なし
配備時閉塞オプション
[autoBlockade]
分散配備での配備処理中、自動閉塞するかどうかを指定します。 閉塞する場合、配備対象制御ドメインに登録されているLB制御コマンドを実行します。

noblock(既定値):
閉塞しない。

block:
閉塞する。配備操作前にLB制御コマンド(削除)を実行し、配備操作後にLB制御コマンド(追加)を実行します。 配備操作に失敗した場合は、配備操作後のLB制御コマンド(追加)は実行しません。

errorblock:
配備失敗時に閉塞する。配備操作に失敗した場合に、配備対象ドメインのLB制御コマンド(削除)を実行します。

noblock
配備失敗時の閉塞条件
[blockadeStatus]
配備時閉塞オプションで「配備失敗時に閉塞する」を指定した場合の閉塞条件を指定します。 閉塞の条件は、指定されたドメインの配備結果から選択します。 詳細は、[ 製品構成と提供機能 > 3. 提供機能 > 3.8.3. 分散配備 ] を参照ください。

error(既定値):
ドメインの配備結果が「ERROR」の場合に閉塞します。

timeout:
ドメインの配備結果が「ERROR」「TIMEOUT」の場合に閉塞します。

warning:
ドメインの配備結果が「ERROR」「TIMEOUT」「WARNING」の場合に閉塞します。

canceled:
ドメインの配備結果が「ERROR」「TIMEOUT」「WARNING」「CANCELED」の場合に閉塞します。

error
配備操作前の停止
[preDeployStop]
配備処理前にアプリケーショングループまたはプロセスグループの停止を行うかどうかを指定します。
R4タイプのCORBAアプリケーションなど、アプリケーショングループやプロセスグループが停止状態でないと配備操作が実行できない場合に指定します。
本オプションで「通常停止」「強制停止」を選択した場合、配備対象となる全てのアプリケーショングループ、または、プロセスグループを停止しますのでご注意ください。
停止時のタイムアウトは、対象アプリケーショングループまたはプロセスグループの属性で指定された「停止タイムアウト」が有効となります。
notstop(既定値):
停止しない。配備操作前の停止処理は行ないません。

normal:
通常停止。配備操作前に、指定された対象(アプリケーショングループ、プロセスグループ)の通常停止を行ないます。

force:
強制停止。配備操作前に、指定された対象(アプリケーショングループ、プロセスグループ)の通常停止を行ないます。

notstop
配備操作前の停止対象
[preDeployStopTarget]
配備操作前の停止で「通常停止」「強制停止」を選択した場合に、停止の対象を指定します。
apg(既定値):
アプリケーショングループ。配備操作前に、配備対象のアプリケーショングループを停止します。

pg:
プロセスグループ。配備操作前に、配備対象のプロセスグループを停止します。

apg
配備前アプリケーショングループ・プロセスグループの状態を引き継ぐ
[succeedState]
配備操作前の停止で「通常停止」「強制停止」を選択した場合に、配備操作終了後、配備操作前のアプリケーショングループ・プロセスグループの状態を引き継ぐかどうかを指定します。
false
ドメイン起動時の自動配備オプション
[autoDeploy]
配備操作実行時にドメインが正常停止状態で配備操作ができない場合、ドメインが起動時に、自動的に配備操作を行うかどうかを指定します。 配備操作実行時にドメイン接続できない場合は、自動配備の対象外となります。
trueの場合は、配備操作時に対象ドメインが正常停止していると、「自動配備対象ドメイン一覧」属性に自動配備予約されたドメイン情報が格納され、ドメイン起動時に配備操作が行われます。
ドメイン起動時に自動的に配備を行うには、自動配備対象ドメイン状態監視が起動している必要があります。
ドメイン起動時に自動的に配備操作を行う場合、自動配備操作時に登録されている配備構成で配備操作を行ないます。
false
自動配備対象ドメイン一覧
[autoDeployDomains]
対象ドメイン起動時に自動配備を行うように予約されているドメイン一覧です。

自動配備対象ドメイン一覧は次の形式です。
<サーバ名>,<ドメイン名>,<配備操作名>,<前回の配備操作ID>
なし


1.17.7. 配備先サーバに関する設定

以下は、参照可能な配備先サーバの設定項目の一覧です。

Dottedname : domain.ddeployment.deploymentConstitutions.constitution-name.server-name

constitution-nameには、配備構成名が設定されます。

server-nameには、配備先サーバ名が設定されます。

表1.17.7-1
属性名
(attribute-name)
説明 既定値
サーバ名
[serverName]
配備先サーバ名です。 なし


1.17.8. 配備構成のコンポーネントに関する設定

以下は、MOで設定可能なコンポーネントの設定項目の一覧です。

Dottedname : domain.ddeployment.deploymentConstitutions.constitution-name.server-name.component-name

constitution-nameには、配備構成名が設定されます。

server-nameには、配備先サーバ名が設定されます。

component-nameには、コンポーネント名が設定されます。

表1.17.8-1
属性名
(attribute-name)
説明 既定値
コンポーネントID
[componentId]
コンポーネントを一意に識別するIDです。 なし
付属情報
[options]
配備のオプションプロパティやデプロイメントプランID、配備操作のタイムアウト値など、コンポーネントに関連付けるプロパティを指定します。
(例)
コンテキストルート「/test」を設定する場合:
名前「contextRoot」値「/test」を指定して追加します。

コンポーネントID「plan1」のデプロイメントプランを設定する場合:
名前「ddeploy.deployment.plan.id」値「plan1」を指定して追加します。

仮想サーバ「server1」を設定する場合:
名前「virtualservers」値「tcpip_host1」を指定して追加します。

配備操作タイムアウトを4分(240000ミリ秒)にする場合:
名前「ddeploy.deploy.jmx.timeout」値「240000」を指定して追加します。
なし


1.17.9. 設定ファイルに関する設定

以下は、MOで設定可能な設定ファイルの設定項目の一覧です。

Dottedname : domain.ddeployment.deploymentConstitutions.constitution-name.configrationFiles.file-name

constitution-nameには、配備構成名が設定されます。

file-nameには、コンフィグレーションファイル名が設定されます。

表1.17.9-1
属性名
(attribute-name)
説明 既定値
コンポーネントID
[componentId]
コンポーネントを一意に識別するIDです。 なし
付属情報
[options]
コンポーネントに関連付けるプロパティを指定します。
(例)
配備操作タイムアウトを4分(240000ミリ秒)にする場合:
名前「ddeploy.deploy.jmx.timeout」値「240000」を指定して追加します。
なし


1.17.10. EJBコンポーネントに関する設定

以下は、MOで設定可能なEJBコンポーネントの設定項目の一覧です。

Dottedname : domain.ddeployment.deploymentRepository.ejbComponents.component-name

component-nameには、コンポーネント名が設定されます。

表1.17.10-1
属性名
(attribute-name)
説明 既定値
コンポーネントID
[componentId]
コンポーネントを一意に識別するIDです。 なし
コンポーネント名
[componentName]
コンポーネントのアーカイブファイル名です。 なし
ファイルパス
[filePath]
登録されたコンポーネントのファイルシステム上のパスです。 なし
バージョン
[version]
コンポーネントのバージョンを指定します。コンポーネント登録時に入力しなかった場合、デフォルトで日時から自動生成した値(MMddHHmmss)を設定します。 なし
配備オーダー
[deployOrder]
配備操作時に、ドメイン単位で操作順をソートする際に利用されます。配備操作により、昇順(deploy, distribute, start, replace)、降順(stop, undeploy)を切り替えます。 コンポーネントの種別によらずに、配備オーダーに従います。配備オーダーが同じ値の場合は、コンポーネントIDを辞書ソートした順になります。 1000
説明
[description]
コンポーネントの任意の説明です。 なし
MD
[md]
アルゴリズム:メッセージダイジェスト値です。登録時に計算されたメッセージダイジェストの値が表示されます。 なし
UUID
[uuid]
コンポーネントのUUIDです。 なし
登録日時
[entryDate]
コンポーネントの登録日時です。 なし
更新日時
[modifyDate]
コンポーネントの更新日時です。 なし
RMIコンパイル
[generateRmiStubs]
配備時にRMI-IIOP用のスタブ/タイのクラスファイルを生成するかどうかを指定します。 false
ライブラリパス
[librariesPath]
クラスパスに追加するライブラリのパスを指定します。 なし
コネクタリソース削除
[cascade]
配備解除時に、コネクションプール、配備されていないリソースアダプタ、および関連する全てのコネクタリソースを削除するかどうかを指定します。 false
データベースベンダ名
[dbVendorName]
CMP(Container Managed Persistence)で利用するデータベースのベンダ名を指定します。 なし
テーブル作成
[createTables]
CMP(Container Managed Persistence)の配備時に、データベースにテーブルを作成するかどうかを指定します。 false
テーブル再作成
[dropAndCreateTables]
CMP(Container Managed Persistence)の配備時に、データベースから一旦テーブルを削除し、その後テーブルを再作成するかどうかを指定します。 false
ユニークなテーブル名
[uniqueTableNames]
CMP(Container Managed Persistence)の配備時に、データベースのテーブル名を一意にするために、ハッシュコードをテーブル名に付加するかどうかを指定します。 false
テーブル削除
[dropTables]
CMP(Container Managed Persistence)の配備時に作成したテーブルを、配備解除時にデータベースから削除するかどうかを指定します。 false
付属情報
[options]
配備のオプションプロパティやデプロイメントプランID、配備操作のタイムアウト値など、コンポーネントに関連付けるプロパティを指定します。
(例)
コンポーネントID「plan1」のデプロイメントプランを設定する場合:
名前「ddeploy.deployment.plan.id」値「plan1」を指定して追加します。

仮想サーバ「server1」を設定する場合:
名前「virtualservers」値「tcpip_host1」を指定して追加します。

配備操作タイムアウトを4分(240000ミリ秒)にする場合:
名前「ddeploy.deploy.jmx.timeout」値「240000」を指定して追加します。

状態確認タイムアウトを3分(180秒)にする場合:
名前「statechecktimeout」値「180」を指定して追加します。
なし


1.17.11. JavaEEコンポーネントに関する設定

以下は、MOで設定可能なJavaEEコンポーネントの設定項目の一覧です。

Dottedname : domain.ddeployment.deploymentRepository.javaEEComponents.component-name

component-nameには、コンポーネント名が設定されます。

表1.17.11-1
属性名
(attribute-name)
説明 既定値
コンポーネントID
[componentId]
コンポーネントを一意に識別するIDです。 なし
コンポーネント名
[componentName]
コンポーネントのアーカイブファイル名です。 なし
ファイルパス
[filePath]
登録されたコンポーネントのファイルシステム上のパスです。 なし
バージョン
[version]
コンポーネントのバージョンを指定します。コンポーネント登録時に入力しなかった場合、デフォルトで日時から自動生成した値(MMddHHmmss)を設定します。 なし
配備オーダー
[deployOrder]
配備操作時に、ドメイン単位で操作順をソートする際に利用されます。配備操作により、昇順(deploy, distribute, start, replace)、降順(stop, undeploy)を切り替えます。 コンポーネントの種別によらずに、配備オーダーに従います。配備オーダーが同じ値の場合は、コンポーネントIDを辞書ソートした順になります。 1000
説明
[description]
コンポーネントの任意の説明です。 なし
MD
[md]
アルゴリズム:メッセージダイジェスト値です。登録時に計算されたメッセージダイジェストの値が表示されます。 なし
UUID
[uuid]
コンポーネントのUUIDです。 なし
登録日時
[entryDate]
コンポーネントの登録日時です。 なし
更新日時
[modifyDate]
コンポーネントの更新日時です。 なし
RMIコンパイル
[generateRmiStubs]
配備時にRMI-IIOP用のスタブ/タイのクラスファイルを生成するかどうかを指定します。 false
ライブラリパス
[librariesPath]
クラスパスに追加するライブラリのパスを指定します。 なし
コネクタリソース削除
[cascade]
配備解除時に、コネクションプール、配備されていないリソースアダプタ、および関連する全てのコネクタリソースを削除するかどうかを指定します。 false
データベースベンダ名
[dbVendorName]
CMP(Container Managed Persistence)で利用するデータベースのベンダ名を指定します。 なし
テーブル作成
[createTables]
CMP(Container Managed Persistence)の配備時に、データベースにテーブルを作成するかどうかを指定します。 false
テーブル再作成
[dropAndCreateTables]
CMP(Container Managed Persistence)の配備時に、データベースから一旦テーブルを削除し、その後テーブルを再作成するかどうかを指定します。 false
ユニークなテーブル名
[uniqueTableNames]
CMP(Container Managed Persistence)の配備時に、データベースのテーブル名を一意にするために、ハッシュコードをテーブル名に付加するかどうかを指定します。 false
テーブル削除
[dropTables]
CMP(Container Managed Persistence)の配備時に作成したテーブルを、配備解除時にデータベースから削除するかどうかを指定します。 false
付属情報
[options]
配備のオプションプロパティやデプロイメントプランID、配備操作のタイムアウト値など、コンポーネントに関連付けるプロパティを指定します。
(例)
コンポーネントID「plan1」のデプロイメントプランを設定する場合:
名前「ddeploy.deployment.plan.id」値「plan1」を指定して追加します。

仮想サーバ「server1」を設定する場合:
名前「virtualservers」値「tcpip_host1」を指定して追加します。

配備操作通信タイムアウトを4分(240000ミリ秒)にする場合:
名前「ddeploy.deploy.jmx.timeout」値「240000」を指定して追加します。

状態確認タイムアウトを3分(180秒)にする場合:
名前「statechecktimeout」値「180」を指定して追加します。
なし


1.17.12. Webコンポーネントに関する設定

以下は、MOで設定可能なWebコンポーネントの設定項目の一覧です。

Dottedname : domain.ddeployment.deploymentRepository.webComponents.component-name

component-nameには、コンポーネント名が設定されます。

表1.17.12-1
属性名
(attribute-name)
説明 既定値
コンポーネントID
[componentId]
コンポーネントを一意に識別するIDです。 なし
コンポーネントタイプ
[componentType]
コンポーネントのタイプです。
web:Webアプリケーション
なし
コンポーネント名
[componentName]
コンポーネントのアーカイブファイル名です。 なし
ファイルパス
[filePath]
登録されたコンポーネントのファイルシステム上のパスです。 なし
バージョン
[version]
コンポーネントのバージョンを指定します。コンポーネント登録時に入力しなかった場合、デフォルトで日時から自動生成した値(MMddHHmmss)を設定します。 なし
配備オーダー
[deployOrder]
配備操作時に、ドメイン単位で操作順をソートする際に利用されます。配備操作により、昇順(deploy, distribute, start, replace)、降順(stop, undeploy)を切り替えます。 コンポーネントの種別によらずに、配備オーダーに従います。配備オーダーが同じ値の場合は、コンポーネントIDを辞書ソートした順になります。 1000
説明
[description]
コンポーネントの任意の説明です。 なし
MD
[md]
アルゴリズム:メッセージダイジェスト値です。登録時に計算されたメッセージダイジェストの値が表示されます。 なし
UUID
[uuid]
コンポーネントのUUIDです。 なし
登録日時
[entryDate]
コンポーネントの登録日時です。 なし
更新日時
[modifyDate]
コンポーネントの更新日時です。 なし
RMIコンパイル
[generateRmiStubs]
配備時にRMI-IIOP用のスタブ/タイのクラスファイルを生成するかどうかを指定します。 false
ライブラリパス
[librariesPath]
クラスパスに追加するライブラリのパスを指定します。 なし
コネクタリソース削除
[cascade]
配備解除時に、コネクションプール、配備されていないリソースアダプタ、および関連する全てのコネクタリソースを削除するかどうかを指定します。 false
コンテキストルート
[contextRoot]
Webコンポーネント(war)のコンテキストルートを指定します。 なし
JSPコンパイル
[precompileJsp]
配備時にJSPのコンパイルを行うかどうかを指定します。 false
付属情報
[options]
配備のオプションプロパティやデプロイメントプランID、配備操作のタイムアウト値など、コンポーネントに関連付けるプロパティを指定します。
(例)
コンポーネントID「plan1」のデプロイメントプランを設定する場合:
名前「ddeploy.deployment.plan.id」値「plan1」を指定して追加します。

仮想サーバ「server1」を設定する場合:
名前「virtualservers」値「tcpip_host1」を指定して追加します。

配備操作通信タイムアウトを4分(240000ミリ秒)にする場合:
名前「ddeploy.deploy.jmx.timeout」値「240000」を指定して追加します。

状態確認タイムアウトを3分(180秒)にする場合:
名前「statechecktimeout」値「180」を指定して追加します。
なし


1.17.13. ESBコンポーネントに関する設定

以下は、MOで設定可能なESBコンポーネントの設定項目の一覧です。

Dottedname : domain.ddeployment.deploymentRepository.esbComponents.component-name

component-nameには、コンポーネント名が設定されます。

表1.17.13-1
属性名
(attribute-name)
説明 既定値
コンポーネントID
[componentId]
コンポーネントを一意に識別するIDです。 なし
コンポーネント名
[componentName]
コンポーネントのアーカイブファイル名です。 なし
ファイルパス
[filePath]
登録されたコンポーネントのファイルシステム上のパスです。 なし
バージョン
[version]
コンポーネントのバージョンを指定します。コンポーネント登録時に入力しなかった場合、デフォルトで日時から自動生成した値(MMddHHmmss)を設定します。 なし
配備オーダー
[deployOrder]
配備操作時に、ドメイン単位で操作順をソートする際に利用されます。配備操作により、昇順(deploy, distribute, start, replace)、降順(stop, undeploy)を切り替えます。 コンポーネントの種別によらずに、配備オーダーに従います。配備オーダーが同じ値の場合は、コンポーネントIDを辞書ソートした順になります。 1000
スロースタート完了時間
[slowStartCompleteTime]
「start(開始)」操作でスロースタートする場合に、あらかじめ起動の完了時間を分単位で指定します。既定値は0(通常のスタート)です。 0
説明
[description]
コンポーネントの任意の説明です。 なし
MD
[md]
アルゴリズム:メッセージダイジェスト値です。登録時に計算されたメッセージダイジェストの値が表示されます。 なし
UUID
[uuid]
コンポーネントのUUIDです。 なし
登録日時
[entryDate]
コンポーネントの登録日時です。 なし
更新日時
[modifyDate]
コンポーネントの更新日時です。 なし
付属情報
[options]
コンポーネントに関連付けるプロパティを指定します。
(例)
配備操作タイムアウトを4分(240000ミリ秒)にする場合:
名前「ddeploy.deploy.jmx.timeout」値「240000」を指定して追加します。
なし


1.17.14. CORBAコンポーネントに関する設定

以下は、MOで設定可能なCORBAコンポーネントの設定項目の一覧です。

Dottedname : domain.ddeployment.deploymentRepository.corbaComponents.component-name

component-nameには、コンポーネント名が設定されます。

表1.17.14-1
属性名
(attribute-name)
説明 既定値
コンポーネントID
[componentId]
コンポーネントを一意に識別するIDです。 なし
コンポーネント名
[componentName]
コンポーネントのアーカイブファイル名です。 なし
ファイルパス
[filePath]
登録されたコンポーネントのファイルシステム上のパスです。 なし
バージョン
[version]
コンポーネントのバージョンを指定します。コンポーネント登録時に入力しなかった場合、デフォルトで日時から自動生成した値(MMddHHmmss)を設定します。 なし
配備オーダー
[deployOrder]
配備操作時に、ドメイン単位で操作順をソートする際に利用されます。配備操作により、昇順(deploy, distribute, start, replace)、降順(stop, undeploy)を切り替えます。 コンポーネントの種別によらずに、配備オーダーに従います。配備オーダーが同じ値の場合は、コンポーネントIDを辞書ソートした順になります。 1000
説明
[description]
コンポーネントの任意の説明です。 なし
MD
[md]
アルゴリズム:メッセージダイジェスト値です。登録時に計算されたメッセージダイジェストの値が表示されます。 なし
UUID
[uuid]
コンポーネントのUUIDです。 なし
登録日時
[entryDate]
コンポーネントの登録日時です。 なし
更新日時
[modifyDate]
コンポーネントの更新日時です。 なし
アプリケーション形式
[corbaType]
CORBAアプリケーションの作成方法です。(R4,R5)。 R4
名前サーバ登録情報ファイルコンポーネントID
[bindIorInfoId]
配備操作時に名前サーバへの登録を行う場合に、「その他のコンポーネント」に登録した名前サーバ登録情報ファイルのコンポーネントIDを指定します。
指定できるコンポーネントIDは1つだけです。
なし
付属情報
[options]
コンポーネントに関連付けるプロパティを指定します。
(例)
配備操作タイムアウトを4分(240000ミリ秒)にする場合:
名前「ddeploy.deploy.jmx.timeout」値「240000」を指定して追加します。
なし


1.17.15. その他のコンポーネントに関する設定

以下は、MOで設定可能なその他のコンポーネントの設定項目の一覧です。

Dottedname : domain.ddeployment.deploymentRepository.otherComponents.component-name

component-nameには、コンポーネント名が設定されます。

表1.17.15-1
属性名
(attribute-name)
説明 既定値
コンポーネントID
[componentId]
コンポーネントを一意に識別するIDです。 なし
コンポーネント名
[componentName]
コンポーネントのアーカイブファイル名です。 なし
コンポーネントタイプ
[componentType]
コンポーネントのタイプです。
ra:リソースアダプタ
client:アプリケーションクライアント
config:設定ファイル
plan:デプロイメントプラン
sharedlib:共有コンポーネント
bindiorinfo:名前サーバ登録情報ファイル
なし
ファイルパス
[filePath]
登録されたコンポーネントのファイルシステム上のパスです。 なし
バージョン
[version]
コンポーネントのバージョンを指定します。コンポーネント登録時に入力しなかった場合、デフォルトで日時から自動生成した値(MMddHHmmss)を設定します。 なし
配備オーダー
[deployOrder]
配備操作時に、ドメイン単位で操作順をソートする際に利用されます。配備操作により、昇順(deploy, distribute, start, replace)、降順(stop, undeploy)を切り替えます。 コンポーネントの種別によらずに、配備オーダーに従います。配備オーダーが同じ値の場合は、コンポーネントIDを辞書ソートした順になります。 1000
説明
[description]
コンポーネントの任意の説明です。 なし
MD
[md]
アルゴリズム:メッセージダイジェスト値です。登録時に計算されたメッセージダイジェストの値が表示されます。 なし
UUID
[uuid]
コンポーネントのUUIDです。 なし
登録日時
[entryDate]
コンポーネントの登録日時です。 なし
更新日時
[modifyDate]
コンポーネントの更新日時です。 なし
RMIコンパイル
[generateRmiStubs]
配備時にRMI-IIOP用のスタブ/タイのクラスファイルを生成するかどうかを指定します。 false
ライブラリパス
[librariesPath]
クラスパスに追加するライブラリのパスを指定します。 なし
コネクタリソース削除
[cascade]
配備解除時に、コネクションプール、配備されていないリソースアダプタ、および関連する全てのコネクタリソースを削除するかどうかを指定します。 false
付属情報
[options]
配備のオプションプロパティや配備操作のタイムアウト値など、コンポーネントに関連付けるプロパティを指定します。
(例)
仮想サーバ「server1」を設定する場合:
名前「virtualservers」値「tcpip_host1」を指定して追加します。

配備操作通信タイムアウトを4分(240000ミリ秒)にする場合:
名前「ddeploy.deploy.jmx.timeout」値「240000」を指定して追加します。

なし


1.17.16. その他の設定

分散配備のプロパティの一覧を示します。これらのプロパティは、分散管理サーバドメインのJavaシステムプロパティとして設定します。
Javaシステムプロパティの設定については、「1.4.2.3. JavaVMオプションで設定可能な項目一覧」を参照してください。


コンポーネントリポジトリ関するプロパティ
表1.17.16-1
プロパティ名
説 明 既定値
ddeploy.repository.home コンポーネントリポジトリのディレクトリ。
コンポーネントリポジトリにおける、コンポーネントの実体を格納する場所です。
${INSTANCE_ROOT}/ddeploy/repository
component.md.algorithm コンポーネントのメッセージダイジェストに利用するアルゴリズム
MessageDigestに指定可能な文字列を指定します。たとえばMD5などです。指定可能な文字列は、JavaのAPIマニュアルを参照してくださ い。
SHA-256


配備操作に関するプロパティ
表1.17.16-2
プロパティ名
説 明 既定値
ddeploy.invoke.info.save.event 配備情報保存の保存タイミング
配備操作実行中に、どのタイミングで情報を保存するかを指定します。
COMPONENT:コンポーネントの配備操作終了時
DOMAIN:ドメイン単位の配備操作終了時
COMPONENT
ddeploy.deploy.checkinterval 配備操作チェック間隔(ミリ秒)。
配備操作の状況確認間隔を指定します。これは、分散配備内部における配備操作の終了確認を行う間隔です。
4000
ddeploy.deploy.jmx.timeout 配備操作JMX通信タイムアウト(ミリ秒)。
分散配備が行う各コンポーネントの配備操作時のJMX通信のタイムアウトを指定します。
この指定は、各コンポーネントの付属情報で指定することも可能です。 1000以下を指定した場合は、既定値が使用されます。
300000
ddeploy.thread.numbers.max 配備操作並行処理数の最大値
配備操作実行時に、同時に配備操作を行うドメイン数を指定します。
配備操作は、ドメイン単位に並行に配備操作を行います。
20
ddeploy.deploy.checkinterval.increase コマンドからの配備操作完了待ち合わせ調整パラメータ
2
ddeploy.invoke.apg.pg.start.wait.interval アプリケーショングループ・プロセスグループ起動待ち確認間隔(ミリ秒)
配備操作において、アプリケーショングループ・プロセスグループを起動後、起動状態を確認する間隔を指定します。
この指定は、分散配備の付属情報で指定することも可能です。
4000
ddeploy.invoke.apg.pg.start.wait.count アプリケーショングループ・プロセスグループ起動待ち確認回数
配備操作において、アプリケーショングループ・プロセスグループを起動後、起動状態を確認する回数を指定します。
この指定は、分散配備の付属情報で指定することも可能です。
30
ddeploy.invoke.admonitor.interval 自動配備監視対象ドメイン状態監視の監視間隔(ミリ秒)
ドメイン起動時に自動で配備操作を行うため、自動配備監視対象ドメイン状態監視で対象ドメインの状態を確認する間隔を指定します。
この指定は、分散配備の付属情報で指定することも可能です。
3000


内部操作に関するプロパティ
表1.17.16-3
プロパティ名
説 明 既定値
ddeploy.mo.create.wait.interval MO生成待ち間隔(ミリ秒)。 2000
ddeploy.mo.create.wait.count MO生成待ちチェック間隔 3


1.18. リソースのプロセス単位のロード設定(Standard/Enterpriseの場合)

Standard/Enterpriseでは、別のプロセスグループで動くアプリケーションは別々のJava VM上で実行されます。また、スタンダードモードでは、Webコンテナはエージェントプロセス上で動作します。

ドメインに定義されたリソースアダプタ、コネクタリソース、JDBCデータソースは既定値ではコンテナの動作している全Javaプロセス上でロードされます。例えばJDBCデータソースの初期接続数を1に設定していても、 プロセスグループのプロセス数分だけ初期接続が張られることになります。そのリソースを使用していないプロセスでは無駄に接続が張られることになってしまいます。

この場合は、リソースアダプタ、コネクタリソース、JDBCデータソース、プロセスグループの以下の属性を設定して使用するプロセスを絞り込んでください。プロセスグループの設定の方はリソースの配備、追加時には自動的に追加されます。

リソースアダプタ、コネクタリソース、JDBCデータソースの共通属性

表1.18-1
属性名
(attribute-name)
説明 既定値
use-jmx-agent リソースを運用管理エージェント上でロードするかどうかを指定します Webコンテナがアドバンスドモードで動作していればfalse、そうでなければtrue
use-all-ejb-processgroups 全てのプロセスグループで使用するか、または各プロセスグループの属性でロードする、しないの指定を行なうかどうかを選択します。
全てのプロセスグループで使用するを選択した場合、全プロセスグループのロードするリソースアダプタの設定に自動的にこのリソースが追加されます。
true


プロセスグループの属性

表1.18-2
属性名
(attribute-name)
説明 既定値
datasourceList プロセスグループの起動時にロードするデータソースのリストを表示します。そのプロセスグループ上で動作するEJBが使用するデータソースのJNDI名を選択してください。 null
connectorResourceList プロセスグループの起動時にロードするコネクタリソースのリストを表示します。そのプロセスグループ上で動作するEJBが使用するコネクタリソースのJNDI名を選択してください。 null
resourceAdapterList プロセスグループの起動時にロードするリソースアダプタのリストを表示します。そのプロセスグループ上で動作するEJBが使用するリソースアダプタの名前を選択してください。 null


1.19. インメモリデータグリッド連携

インメモリデータグリッド連携に関する設定について説明します。


1.19.1. インメモリデータグリッド連携全般の設定項目・設定方法

インメモリデータグリッド連携の設定項目については全てMO化されています。項目の設定方法については「1.1. 各サービスの属性」を参照してください。


1.19.1.1. インメモリデータグリッド設定

ドメイン共通の設定です。この設定を変更した場合、ドメインを再起動することにより反映されます。

Dottedname : server.data-grids

表1.19.1.1-0
属性名
(attribute-name)
説明 既定値
Jgroupsファイル名(Infinispan)
[infinispan-jgroups-file]
このドメインで使用する、${INSTANCE_ROOT}/config/datagrid/infinispanディレクトリにあるInfinispanの設定ファイルを指定します。 webotx-jgroups-udp.xml
クラスタ名(Infinispan)
[infinispan-cluster-name]
このドメインで使用する、Infinispanのクラスタ名を指定します。 webotx-infinispan-cluster1
クラスタ設定ファイル名(Coherence)
[coherence-cluster-file]
このドメインで使用する、${INSTANCE_ROOT}/config/datagrid/coherenceディレクトリにあるCoherenceの設定ファイルを指定します。 webotx-coherence-cluster1.xml

1.19.1.2. インメモリデータグリッド個別設定

データグリッドごとの設定です。

Dottedname : server.data-grids.data-grid.name

nameはデータグリッド名が設定されます。

一般タブ
表1.19.1.2-0
属性名
(attribute-name)
説明 既定値
名前
[name]
DataGridの名前です。セッションレプリケーションや永続化サービスのdata-grid-nameとしてこの名前を指定します。 なし
タイプ
[type]
DataGridのタイプを指定します。指定できる値は以下です。
- disabled
- infinispan
- coherence
disabled以外の値に設定する場合、それぞれの連携に必要なライブラリを配置していないとエラーになります。配置については [ 3. 提供機能 > 3.6.9. インメモリデータグリッド連携 > 3.6.9.1. 事前準備 ] を参照してください。
disabled
アーキタイプ
[archetype]
DataGridのアーキタイプを指定します。指定できる値は以下です。
- standard(標準)
- high-performance(性能重視)
- high-available(可用性重視)
この属性を変更すると、他の属性も連動して変更されます。「アーキタイプによる既定値の変更」を参照してください。
standard
Infinispanタブ

Infinispan用の設定です。タイプがinfinispanの場合のみ有効です。

表1.19.1.2-1
属性名
(attribute-name)
説明 既定値
キャッシュモード(Infinispan)
[infinispan-cache-mode]
キャッシュモードを指定します。指定できる値は以下です。
- DIST_SYNC(分散同期モード)
- DIST_ASYNC(分散非同期モード)
- REPL_SYNC(複製同期モード)
- REPL_ASYNC(複製非同期モード)
DIST_SYNC
非同期マーシャリング(Infinispan)
[infinispan-async-marshalling]
キャッシュモードがDIST_ASYNCまたはREPL_ASYNCの場合のみ有効です。非同期マーシャリングを使用するかどうかを指定します。使用する場合、呼び出しはすぐにリターンされますが、命令のリオーダーが行なわれる場合があります。 false
非同期キューの使用(Infinispan)
[infinispan-async-use-repl-queue]
キャッシュモードがDIST_ASYNCまたはREPL_ASYNCの場合のみ有効です。trueの場合、全ての非同期通信はレプリケーションキューに登録するように強制し、定期的にバッチ処理で送出されます。 false
非同期キューの動作頻度(Infinispan)
[infinispan-async-repl-queue-interval]
キャッシュモードがDIST_ASYNCまたはREPL_ASYNCで非同期キューの使用がtrueの場合のみ有効です。レプリケーションキューをフラッシュするスレッドの動作頻度をミリ秒で指定します。 5000
非同期キューの最大要素数(Infinispan)
[infinispan-async-repl-queue-max-elements]
キャッシュモードがDIST_ASYNCまたはREPL_ASYNCで非同期キューの使用がtrueの場合のみ有効です。要素数がこの値に達したことを契機としてレプリケーションキューをフラッシュします。 1000
同期タイムアウト(Infinispan)
[infinispan-sync-repl-timeout]
キャッシュモードがDIST_SYNCまたはREPL_SYNCの場合のみ有効です。リモート呼び出しの応答が返るまでの最大待ち時間を指定します(ミリ秒) 。待ち時間に達すると呼び出しは中止され、例外が発生します。 15000
起動時データフェッチ(Infinispan)
[infinispan-state-transfer-fetch-in-memory-state]
trueの場合、キャッシュ起動時に近隣のキャッシュからデータをフェッチします。キャッシュはウォームアップ状態で起動しますが、起動性能が低下します。
分散モードではこのときにキーの所有者の変更も行われるため、これがfalseの場合はキーの所有者がキャッシュエントリごとの複製数より少なくなる可能性があります。
true
起動時待ち合わせ(Infinispan)
[infinispan-state-transfer-await-initial-transfer]
trueの場合、最初にキャッシュの取得が行なわれる時、近隣のキャッシュから状態を取得できるまでブロックされます。 true
状態転送チャンクサイズ(Infinispan)
[infinispan-state-transfer-chunk-size]
一度にステート転送するエントリ数を指定します。0以下にすると全てのエントリを一度に転送しますが、非推奨です。 10000
状態転送タイムアウト(Infinispan)
[infinispan-state-transfer-timeout]
近隣キャッシュからステートを受け取る際の最大待ち時間を指定します(ミリ秒)。 240000
L1キャッシュの有効化(Infinispan)
[infinispan-l1-enabled]
trueの時、L1キャッシュを使用します。
キャッシュモードがDIST_SYNCまたはDIST_ASYNCの場合有効です。
false
L1キャッシュ無効化閾値(Infinispan)
[infinispan-l1-invalidation-threshold]
L1キャッシュを無効化する時にマルチキャストを用いるかユニキャストを用いるかの閾値を指定します。
-1が指定されたとき、ユニキャストのみが用いられます。0が指定されたとき、マルチキャストのみが用いられます。
L1キャッシュ使用時のみ有効です。
0
L1キャッシュ最大存在期間(Infinispan)
[infinispan-l1-lifespan]
L1キャッシュのあるエントリの最大存在期間を指定します(ミリ秒)。
L1キャッシュ使用時のみ有効です。
60000
L1キャッシュクリンアップ頻度(Infinispan)
[infinispan-l1-cleanup-task-frequency]
L1キャッシュの古くなったエントリのクリンアップ頻度を指定します(ミリ秒)。
L1キャッシュ使用時のみ有効です。
60000
リハッシュ時のL1キャッシュへの移動(Infinispan)
[infinispan-l1-on-rehash]
trueの場合、リハッシュで削除されるエントリは代わりにL1キャッシュに移動されます。
L1キャッシュ使用時のみ有効です。
true
キャッシュエントリ毎の複製数(Infinispan)
[infinispan-hash-num-owners]
キャッシュエントリごとのクラスタ中の複製数(1以上)を指定します。
キャッシュモードがDIST_SYNCまたはDIST_ASYNCの場合有効です。
2
ハッシュ空間セグメント数(Infinispan)
[infinispan-hash-num-segments]
ハッシュ空間のセグメント数を指定します。1以上の値を指定します。 60
デッドロック検出有効化(Infinispan)
[infinispan-dead-lock-detection-enabled]
trueの場合、デッドロック検出機能を有効にします。 false
デッドロック検出頻度(Infinispan)
[infinispan-dead-lock-detection-spin-duration]
デッドロック検出機能が有効な場合のみ有効です。デッドロック検出を行なう頻度を指定します(ミリ秒)。 100
エビクション機能アルゴリズム(Infinispan)
[infinispan-eviction-strategy]
エビクション(エントリ数が閾値を越えた時削除する)機能で使うアルゴリズムを指定します。NONEの場合、エビクション機能が無効になります。
有効な値は、NONE,UNORDERED,LRU,LIRS
NONE
エビクション機能スレッドポリシー(Infinispan)
[infinispan-eviction-thread-policy]
エビクション機能のスレッドポリシーを指定します。
DEFAULT,PIGGYBACK
DEFAULT
エビクション機能最大エントリ数(Infinispan)
[infinispan-eviction-max-entries]
エビクション機能のための最大エントリ数を指定します。エントリ数がこれを超えた時、エビクションが行なわれます。-1の時はエビクションが行なわれません。 -1
最大存在期間(Infinispan)
[infinispan-expiration-lifespan]
キャッシュエントリの最大存在期間を指定します(ミリ秒)。これを超えたエントリは期限切れで破棄されます。-1の場合、期限切れ破棄が行なわれません。 -1
最大アイドル期間(Infinispan)
[infinispan-expiration-max-idle]
キャッシュエントリの最大アイドル期間を指定します(ミリ秒)。この期間を超えてアクセスされないエントリは期限切れで破棄されます。-1の場合、期限切れ破棄が行なわれません。 -1
期限切れエントリ刈り取りスレッドの有効化(Infinispan)
[infinispan-expiration-enable-reaper]
trueの場合、エントリの期限切れ判定スレッドが動作します。この設定に関わらず、エントリにアクセスする際に期限切れ判定が行われます。 true
期限切れエントリ判定頻度(Infinispan)
[infinispan-expiration-wake-up-interval]
期限切れ判定の頻度を指定します(ミリ秒)。-1の場合、定期的な期限切れ判定が行なわれなくなります。 60000
ロックコンカレンシーレベル(Infinispan)
[infinispan-locking-concurrency-level]
ロックコンテナの並列度を指定します。 32
ロック隔離レベル(Infinispan)
[infinispan-locking-isolation-level]
キャッシュのロック隔離レベルを指定します。有効な値はREPEATABLE_READ,READ_COMMITTED READ_COMMITTED
ロック取得タイムアウト(Infinispan)
[infinispan-locking-lock-acquisition-timeout]
特定のロックを取得するための最大待ち時間を指定します(ミリ秒) 10000
ストライピングロックの使用(Infinispan)
[infinispan-locking-use-lock-striping]
trueの場合、ロックが必要な全てのエントリのための共有ロックプールが管理されます。そうでなければ、キャッシュ中のエントリ毎にロックが作成されます。ロックストライプを有効にすると、メモリ使用量が下がりますが、システムの並列度が低下する場合があります。 false
Coherenceタブ

Coherence用の設定です。タイプがcoherenceの場合のみ有効です。

表1.19.1.2-2
属性名
(attribute-name)
説明 既定値
スキーム(Coherence)
[coherence-scheme]
分散スキームか複製スキームかオプティミスティックスキームを指定します。有効な値は以下です。
- distributed
- replicated
- optimistic
distributed
分散キャッシュバックアップ更新のデルタ送信(Coherence)
[coherence-compressor]
分散スキームの場合のみ有効です。バックアップ更新をデルタ形式で圧縮するか、全体を送信するかを指定します。デルタ更新は、バックアップ・エントリの一部を表しており、プライマリ・エントリと同期させるには変更が必要です。有効な値は以下です。
- none
- standard
none
分散キャッシュサービススレッド数(Coherence)
[coherence-thread-count]
分散スキームの場合のみ有効です。分散キャッシュ・サービスで使用されるデーモン・スレッドの数を指定します。0の場合、関連するタスクはすべて、サービス・スレッドで実行されます。有効な値は、正の整数または0です。 0
リース所有権粒度(Coherence)
[coherence-lease-granularity]
リース所有権の精度を指定します。有効な値は以下です。
- thread
- member
値がthreadの場合、ロックはそのロックを取得したスレッドによって保持され、そのスレッドによってのみ解放されます。値がmember の場合、ロックはクラスタ・ノードによって保持され、ロックを取得したクラスタ・ノード上で実行されるスレッドによって解放できます。
thread
分散キャッシュローカルストレージ(Coherence)
[coherence-local-storage]
分散スキームの場合のみ有効です。クラスタ・ノードをクラスタの記憶域として機能させる(つまり、パーティションを保持する)かどうかを指定します。falseの場合、そのノードはキャッシュ・クライアントと見なされます。 true
分散キャッシュパーティション数(Coherence)
[coherence-partition-count]
分散スキームの場合のみ有効です。キャッシュを分割するパーティションの数を指定します。パーティション・キャッシュ・サービスを実行し、分散キャッシュローカルストレージ属性がtrueに設定されたメンバーのそれぞれが、公平な(偏りのない)数のパーティションを管理します。パーティションの数は素数とし、いずれのパーティションも50MBを超えることのないように十分なパーティション数を指定する必要があります。 257
分散キャッシュ転送閾値(Coherence)
[coherence-transfer-threshold]
分散スキームの場合のみ有効です。プライマリ・バケット分散のしきい値をキロバイト単位で指定します。分散キャッシュ・サービスに新しいノードが結合する場合、またはサービスのメンバーのいずれかの結合が解除される場合、残りのノードによって、バケット所有権の再分散タスクが実行されます。このプロセスでは、所有権情報とともに既存のデータの均衡化が再実行されます。このパラメータでは、データ転送通信で優先されるメッセージ・サイズを示します。この値を低く設定すると、分散プロセスの所要時間は長くなるが、このアクティビティ実行中のネットワーク帯域幅の使用量は軽減されます。 512
分散キャッシュバックアップ数(Coherence)
[coherence-backup-count]
分散スキームの場合のみ有効です。各保存単位のバックアップ・データをキャッシュに保持するメンバーの数を指定します。この値が0になっていると、異常終了した場合にキャッシュ内のデータ の一部が失われます。この値がNになっていると、即座に終了したクラスタ・ノードの数がN以内の場合、キャッシュ・データが保持されます。サイズMの分散 キャッシュを維持する場合、クラスタ内の合計メモリ使用量はクラスタ・ノードの数に依存するのではなく、M*(N+1)となります。推奨値は、0、1または2。 1
分散キャッシュタスクハング閾値(Coherence)
[coherence-task-hung-threshold]
分散スキームの場合のみ有効です。タスクが実行できる時間を指定します(ミリ秒)。この時間を超過すると、ハングしたと見なされます。有効な値は、正の整数または0です。(0の場合は、デフォルト・タイムアウトがないことを示す)。分散キャッシュサービススレッド数が1以上の場合のみ有効です。 0
分散キャッシュタイムアウト(Coherence)
[coherence-task-timeout]
分散スキームの場合のみ有効です。タイムアウト可能なタスクのデフォルトのタイムアウト値をミリ秒単位で指定します。ただし、タスク実行のタイムアウト値は明示的に指定しません。タスク実行時間はサーバー側で測定され、開始されるまでサービス・バックログ・キューで待機するための所要時間は含まれません。この属性は、スレッド・プールが使用されている(分散キャッシュサービススレッド数が正)場合にのみ適用されます。有効な値は、正の整数または0です(0の場合は、デフォルト・タイムアウトがないことを示します)。 0
リクエストタイムアウト(Coherence)
[coherence-request-timeout]
レスポンスがくるまでクライアントが待機する最大時間を指定します(ミリ秒)。この時間を超過すると、元のリクエストが破棄されます。リクエスト時間はクライアント側で測定されるもので、対応するサーバー・ノードに対して実行のためのリクエストが送信されてからの経過時間に次の時間を加えたものです。
- 実行側のノード(サーバー)にリクエストを配信するための所要時間
- タスクが受信されてサービス・キューに入れられてから実行が開始されるまでの間隔
- タスクの実行時間
- クライアントに結果を返信するための所要時間
有効な値は、正の整数または0です(0の場合は、デフォルト・タイムアウトがないことを示します)。
0
ガーディアンタイムアウト(Coherence)
[coherence-guardian-timeout]
サービスおよび依存するスレッドをガードするために使用するガーディアンのタイムアウト値を指定します(ミリ秒)。 305000
サービス失敗ポリシ(Coherence)
[coherence-service-failure-policy]
動作が異常なサービス・スレッドをサービス・ガーディアンが正常に終了できないときに実行するアクションを指定します。有効な値は以下の通りです。
- exit-cluster: 応答しないように見えるスレッドをリカバリしようとします。試行に失敗した場合は、関連付けられたサービスの停止が試行されます。関連付けられたサービスを停止できない場合、このポリシーによって、ローカル・ノードでクラスタ・サービスが停止します。
- exit-process: 応答しないように見えるスレッドをリカバリしようとします。試行に失敗した場合は、関連付けられたサービスの停止が試行されます。関連付けられたサービスを停止できない場合、このポリシーによって、ローカル・ノードでJVMが終了します。
- logging: 検出された問題をログに記録するが、修正処置は実行されません。
exit-cluster
複製キャッシュ標準リース期間(Coherence)
[coherence-standard-lease-milliseconds]
複製スキームの場合のみ有効です。標準的なリースの継続時間を指定します(ミリ秒)。リースがこのミリ秒数を超過すると、ロックは自動的に解放されます。期限切れが発生しないリースを指定するには、この値を0に設定します。この設定の目的は、スタック・スレッドを原因とするデッドロックまたはブロックが発生しないようにすることです。最長の予想ロック継続時間より高い(たとえば、トランザクション・タイムアウトより高い)値を設定する必要があります。 305000
バッキングマップのパーティション化(Coherence)
[coherence-backing-map-partitioned]
バッキング・マップがPartitionAwareBackingMapかどうかを指定します(この要素は、分散スキームの中でのみ考慮されます)。trueに設定した場合、バッキング・マップとして指定されているスキームは、PartitionAwareBackingMapの個々のパーティションのバッキング・マップの構成に使用されます。それ以外の場合は、バッキング・マップ全体に対して使用されます。 false
バッキングマップのエビクションポリシー(Coherence)
[coherence-backing-map-eviction-policy]
バッキングマップで使用するエビクション・ポリシーのタイプを指定します。有効な値は次のとおりです。
- LRU: 最低使用頻度(Least Recently Used)によるエビクション・ポリシーでは、最後にアクセスされた時間を基準として削除対象エントリが選択されます。アクセスされていない期間が最も長いエントリから順番に削除されます。
- LFU: 最低アクセス頻度(Least Frequently Used)によるエビクション・ポリシーでは、アクセス頻度を基準として削除対象エントリが選択されます。アクセス頻度が最も低いエントリから順番に削除されます。
- HYBRID(デフォルト): ハイブリッド・エビクション・ポリシーでは、アクセス頻度およびアクセス時間の組合せ(加重スコア)を基準として削除対象エントリが選択されます。アクセス頻度が低く、アクセスされていない期間が最も長いエントリから順番に削除されます。
HYBRID
バッキングマップの最大単位(Coherence)
[coherence-backing-map-high-units]
バッキングマップのキャッシュのサイズを制限するために使用します。この要素には、プルーニングが開始されるまでキャッシュに配置できる単位の最大数を指定します。この制限を超えると、キャッシュでプルーニング・プロセスが開始され、エビクション・ポリシーに従ってエントリが順番に削除されます。有効な値は、正の整数または0です(0は制限がないことを意味します) 100000
バッキングマップの最小単位(Coherence)
[coherence-backing-map-low-units]
バッキングマップでプルーニングを実行する際にどこまでキャッシュを小さくするかを示す単位の最小数を記述します。プルーニングによりキャッシュにこの数の単位が含まれるとはかぎらないが、これより少ない数になることはありません。プルーニングの実行時は、このサイズに達するまでエビクション・ポリシーに従ってエントリが順番に削除されます。有効な値は、正の整数または0で」。0はデフォルトを意味し、デフォルトはhigh-units設定の75%です(つまり、high-unitsの設定が1000である場合、この値は750になります)。 0
バッキングマップの存在期間(Coherence)
[coherence-backing-map-expiry-delay]
バッキングマップで前回の更新からエントリが期限切れとなるまでの、キャッシュでエントリが保持される期間を指定します。期限切れになったキャッシュ内のエントリはクライアントからアクセス不能となり削除されます。 0
ニアローカルスキームの有効化(Coherence)
[coherence-near-local-scheme-enabled]
trueの場合、フロントにローカルスキーム、バックにスキーム(Coherence)で指定したスキームが使用される二層キャッシュを構成します。 false
ニアローカルスキームのエビクションポリシー(Coherence)
[coherence-near-local-scheme-eviction-policy]
ニアローカルスキームを使用する場合のみ有効です。ニアローカルスキームで使用するエビクション・ポリシーのタイプを指定します。有効な値は次のとおりです。
- LRU: 最低使用頻度(Least Recently Used)によるエビクション・ポリシーでは、最後にアクセスされた時間を基準として削除対象エントリが選択されます。アクセスされていない期間が最も長いエントリから順番に削除されます。
- LFU: 最低アクセス頻度(Least Frequently Used)によるエビクション・ポリシーでは、アクセス頻度を基準として削除対象エントリが選択されます。アクセス頻度が最も低いエントリから順番に削除されます。
- HYBRID(デフォルト): ハイブリッド・エビクション・ポリシーでは、アクセス頻度およびアクセス時間の組合せ(加重スコア)を基準として削除対象エントリが選択されます。アクセス頻度が低く、アクセスされていない期間が最も長いエントリから順番に削除されます。
HYBRID
ニアローカルスキームの最大単位(Coherence)
[coherence-near-local-scheme-high-units]
ニアローカルスキームを使用する場合のみ有効です。ニアローカルスキームのキャッシュのサイズを制限するために使用されます。この要素には、プルーニングが開始されるまでキャッシュに配置できる単位の最大数を記述します。この制限を超えると、キャッシュでプルーニング・プロセスが開始され、エビクション・ポリシーに従ってエントリが順番に削除されます。有効な値は、正の整数または0です(0は制限がないことを意味します) 100
ニアローカルスキームの最小単位(Coherence)
[coherence-near-local-scheme-low-units]
ニアローカルスキームを使用する場合のみ有効です。ニアローカルスキームでプルーニングを実行する際にどこまでキャッシュを小さくするかを示す単位の最小数を指定します。プルーニングによりキャッシュにこの数の単位が含まれるとはかぎらないが、これより少ない数になることはありません。プルーニングの実行時は、このサイズに達するまでエビクション・ポリシーに従ってエントリが順番に削除されます。有効な値は、正の整数または0です。ゼロはデフォルトを意味し、デフォルトはhigh-units設定の75%です(つまり、high-unitsの設定が1000である場合、この値は750になる)。 0
ニアローカルスキームの存在期間(Coherence)
[coherence-near-local-scheme-expiry-delay]
ニアローカルスキームを使用する場合のみ有効です。ニアローカルスキームで前回の更新からエントリが期限切れとなるまでの、キャッシュでエントリが保持される期間を指定します。期限切れになったキャッシュ内のエントリはクライアントからアクセス不能となり削除されます。 1m
ニアスキームの無効化モード(Coherence)
[coherence-near-invalidation-strategy]
ニアローカルスキームを使用する場合のみ有効です。フロント層およびバック層の同期を保持するために使用される方針を指定します。有効な値は以下です。
- none: キャッシュに対して無効化イベントをリスニングしないよう指示します。この方針は、現在値とはかぎらないデータの使用がビジネス要件で許可されており、パフォーマンスおよびスケーラビリティがともに低い場合に最適です。データの鮮度は十分に簡潔なエビクション・ポリシーを使用することで保証されます。最悪の場合は、パフォーマンスが標準の分散キャッシュと同程度になります。
- present: ニア・キャッシュに対して、フロント・マップに現存するアイテムに関連したバック・マップ・イベントのみをリスニングするよう指示します。この方針は、クラスタ・ノードにスティッキーなデータ・アクセス・パターン(スティッキーなロード・バランサによるHTTPセッション管理など)がある場合に最適です。
- all: ニア・キャッシュに対してすべてのバック・マップ・イベントをリスニングするよう指示します。この方針は、読取り頻度の高いアクセス・パターンにおいて、各クラスタ・メンバーのフロント・キャッシュ間に大量のオーバーラップがある場合に最適である。
- auto(デフォルト): ニア・キャッシュに対して、present方針とall方針をキャッシュ統計に基づいて自動的に切り替えるよう指示する。
auto
アーキタイプによる既定値の変更

上記既定値はアーキタイプがstandardの場合のものです。データグリッド作成時のアーキタイプによって既定値が以下のように設定されます。 また、作成済みのデータグリッドのアーキタイプを変更した場合にも、以下の値に設定変更されます。

表1.19.1.1-3
属性名 standard high-performance high-available
キャッシュモード(Infinispan)
[infinispan-cache-mode]
DIST_SYNC DIST_ASYNC REPL_SYNC
L1キャッシュの有効化(Infinispan)
[infinispan-l1-enabled]
false true false
スキーム(Coherence)
[coherence-scheme]
distributed distributed replicated
バッキングマップの最大単位(Coherence)
[coherence-backing-map-high-units]
100000 100000 0
ニアローカルスキームの有効化(Coherence)
[coherence-near-local-scheme-enabled]
false true false

1.19.2. 永続化サービスに関する設定

以下は、MOで設定可能な永続化サービス設定項目の一覧です。

Dottedname :server.persistence-service

1.19.2.1. 一般設定項目一覧

表1.19.2.1-1
属性名
(attribute-name)
説明 既定値
L2キャッシュで使用するデータグリッド
[data-grid-name]
L2キャッシュで使用するデータグリッド名を指定します。 WebOTX上で動作するJPAアプリケーションのL2キャッシュのバックボーンとなるデータグリッド製品の既定値となります。
この方法で設定を変更した場合は、アプリケーションの再配備をすることなくデータグリッドの変更が可能です。 ただし、変更前と変更後でキャッシュデータは引き継がれません。
「データグリッド」の設定で、登録した「データグリッド名」を指定してください。何も指定しない場合はEclipseLinkのL2キャッシュを使用します。
尚、データグリッド製品の指定は「データグリッド」の設定で行います。
データグリッドにデータグリッド製品が指定されていない場合は、EclipseLinkのL2キャッシュを使用します。
なし


1.19.2.2. JPA設定項目一覧

表1.19.2.2-1
属性名
(attribute-name)
説明 既定値
トランザクションタイプ
[transaction-type]
永続化ユニットのトランザクションタイプを指定します。
値は、"JTA"または"RESOURCE_LOCAL"を指定してください。
なし
JTAデータソース
[jta-datasource]
有効なJTAデータソース名を指定します。
ターゲットコンテナまたはjavax.sql.DataSourceのインスタンスでデータソースを 見つけることができるJNDIリソース名を指定してください。
なし
非JTAデータソース
[non-jta-datasource]
非JTAデータソース名を指定します。
ターゲットコンテナまたはjavax.sql.DataSourceのインスタンスでデータソースを 見つけることができるJNDIリソース名を指定してください。
なし
ステートメントのキャッシュサイズ
[cache-statements-size]
ステートメントのキャッシュサイズを指定します。
内部ステートメント・キャッシュを使用するときに保有されるステートメントの数を指定します。 値はゼロ、もしくは正の整数である必要があります。
50
ステートメントのキャッシュ
[cache-statements]
ステートメントのキャッシュを行うか指定します。
JDBCステートメントをキャッシュするかどうかを指定します。
EclipseLinkの内部接続プーリングを使用している場合は、使用することを推奨します。

有効な値:
true:内部ステートメント・キャッシュを有効にします。
false:内部ステートメント・キャッシュを無効にします。

例:persistence.xmlファイルの例:property Map propertiesMap.put(PersistenceUnitProperties.CACHE_STATEMENTS、"false");
false(行わない)
キャッシュサイズ
[cache-size]
キャッシュサイズを指定します。
すべてのエンティティに適用されます。同じプレフィックスを持つ個々の エンティティプロパティによってオーバーライドされる場合があります。 ほとんどのキャッシュタイプの場合、サイズは初期サイズではなく、固定または最大サイズです。
CacheType.SoftCacheとCacheType.HardCacheのサイズは、サブキャッシュサイズです。
100
キャッシュタイプ
[cache-type]
キャッシュタイプの既定値を指定します。 すべてのエンティティに適用されます。
同じプレフィックスを持つ個々のエンティティプロパティによってオーバーライドされる場合があります。
キャッシュの共有を行い、エンティティをキャッシュしたくない場合は、キャッシュのタイプを設定します。
次のいずれかを設定します。

Full:
強参照キャッシュ。永続的にキャッシュされます。

Weak:
弱参照キャッシュ。弱可到達の場合、ガーベージコレクションによる回収の対象になります。

Soft:
ソフト参照キャッシュ。メモリ残量の低下時にキャッシュアウトする参照形態です。リソースの消費率や生存期間に応じて,ガーベージコレクションによる回収の対象になります。

SoftWeak:
ソフト参照と弱参照でキャッシュします。

HardWeak:
強参照と弱参照でキャッシュします。

None:
エンティティオブジェクトをキャッシュしません。
SoftWeak
キャッシュの共有
[cache-shared]
キャッシュの共有を行うか指定します。
すべてのエンティティに適用されます。
同じプレフィックスを持つ個々のエンティティプロパティによってオーバーライドされる場合があります。
エンティティをキャッシュしたくない場合は、"false(行わない)"に設定してください。
true(行う)
テーブル作成時のサフィックス
[table-creation-suffix]
テーブル作成時のサフィックス文字列を指定します。 なし
ターゲットデータベース
[target-database]
ターゲットデータベース名を指定します。
AUTOの場合、EclipseLinkがデータベースとJDBCメタデータにアクセスして、使用するデータベースを決定します。
WebOTXでサポートするJDBCについては、 [ 製品構成と提供機能 > 3.1.2.2. JDBC ] を参照してください。
AUTO
ウィービング
[weaving]
ウィービングを指定します。
ウィービングは、コンパイル済のJavaクラスのバイトコードを操作する方法です。 JPAエンティティとPlain Old Java Object(POJO)クラスの両方のパフォーマンスを向上するために、 内部最適化、遅延ロード、強力なリレーションシップ上の間接参照、変更追跡、フェッチグループ などの操作にウィービングを使用します。
以下の値が指定できます

TRUE:
動的ウィービングを行います。

FALSE:
ウィービングを無効化します。

STATIC:
静的ウィービングを行います。
true(動的ウィービングを行う)
内部最適化のためのウィービング
[weaving-internal]
内部最適化のためのウィービングを行うか指定します。 true(行う)
遅延ロードのためのウィービング
[weaving-lazy]
遅延ロードのためのウィービングを行うか指定します。
true(行う)
強力なリレーションシップ上の間接参照のためのウィービング
[weaving-eager]
強力なリレーションシップ上の間接参照のためのウィービングを行うか指定します。 false(行わない)
変更追跡のためのウィービング
[weaving-change-tracking]
変更追跡のためのウィービングを行うか指定します。 true(行う)
フェッチグループのためのウィービング
[weaving-fetchgroups]
フェッチグループのためのウィービングを行うか指定します。 true(行う)
永続化コンテキストの参照モード
[persistence-context-reference-mode]
永続化コンテキストの参照モードを指定します。
以下のモードが指定できます。

HARD:
ハード参照を使用してすべてのオブジェクトが参照されます。

WEAK:
アクティブ属性の変更追跡をサポートするオブジェクトへの参照は、弱参照によって保持されます。

FORCE_WEAK:
変更追跡の対象外であるオブジェクトを含むすべてのオブジェクトは、弱参照によって保持されます。
HARD
悲観的ロックのタイムアウト時間
[pessimistic-lock-timeout]
悲観的ロックのタイムアウト時間(ミリ秒)を指定します。
悲観的ロックでのタイムアウトを設定します。データベースクエリは、タイムアウトを 超えた場合データベースクエリを終了して例外が返されます。
有効な値は、0 またはそれ以上の整数です。
0を指定した場合は、タイムアウトしません。
0(タイムアウトしない)
クエリ実行時のタイムアウト時間
[query-timeout]
クエリ実行時のタイムアウト時間(ミリ秒)を指定します。
デフォルトのクエリタイムアウト値を設定します。

有効な値は、0 またはそれ以上の整数です。
0を指定した場合は、タイムアウトしません。
0(タイムアウトしない)


1.19.2.3. 性能情報設定項目一覧

表1.19.2.3-1
属性名
(attribute-name)
説明 既定値
性能情報採取ステータス
[performance-statistics-status]
性能情報採取ステータスです。以下の値が設定されます。
停止
起動中
なし
性能情報採取フラグ
[performance-statistics-flag]
性能情報採取を行うか指定します。 false(行わない)


1.19.3. データプリロードに関する設定

以下は、MOで設定可能なデータプリロード設定項目の一覧です。

Dottedname :server.persistence-service.data-pre-loads


1.19.3.1. 設定項目一覧

表1.19.3.1-1
属性名
(attribute-name)
説明 既定値
データプリロードを実行する
[data-pre-load-enabled]
サービスの開始時にデータのプリロードを実行するか指定します。
false(行わない)
データプリロードのタイムアウトまでの時間
[data-pre-load-timeout]
データプリロードのタイムアウトまでの時間を設定します。単位は分です。
指定時間経過した場合、データプリロードを中断します。
0を指定した場合は、タイムアウトしません。
30
読込モード
[reading-mode]
読込モードを設定します。

同期:読み込みを同期で行います。
非同期:非同期で読み込みます。
同期
ランキングデータのパス
[rankingdata-file-path]
ランキングデータのファイルパスを指定します。 なし


1.19.4. データプリロード対象エンティティに関する設定

以下は、MOで設定可能なデータプリロード対象エンティティ設定項目の一覧です。

Dottedname :server.persistence-service.data-pre-loads.persistence-unit._wo_dotted_.data-pre-load._wo_dotted_


1.19.4.1. 設定項目一覧

表1.19.4.1-1
属性名
(attribute-name)
説明 既定値
エンティティ名
[name]
エンティティ名が設定されます。
エンティティ名(完全修飾名)
[entity-fqcn]
エンティティの(完全修飾名)FQCNが設定されます。
データプリロード対象
[data-pre-load-enabled]
データプリロードの対象エンティティとするか指定します。 false(対象としない)
分散環境下でデータプリロードを実行
[distribute-preload-enabled]
分散環境でデータプリロードを行うか指定します。 false(行わない)
プリロード対象エンティティID指定方法
[target-entity]
エンティティIDによる読込データを指定します。
以下の方法が指定できます。

すべて:
全てのエンティティIDを読み込みます。
ランキング順:
「最大読み込み件数」の件数分を、ランキング順に読み込みます。
任意:
指定されたエンティティIDを読み込みます。
すべて
プリロード対象エンティティID
[target-entity-id]
プリロード対象のエンティティIDを指定します。
複数のエンティティIDを指定する場合は、セパレータとして",(カンマ)"で区切ります。
なし
最大読み込み件数
[max-read-count]
このエンティティでプリロード可能なデータ件数を指定します。
正の整数を指定します。
1000
読み込み待ち合わせ時間
[transition-threshold]
次のエンティティの読み込み待ち合わせの時間を指定します。単位は秒です。
有効な値は、0 またはそれ以上の整数です。
0を指定した場合は、同期モードと同じになります。
60
同期タイムアウト
[synchronous-timeout]
読込処理のタイムアウト時間を指定します。単位は秒です。
有効な値は、0 またはそれ以上の整数です。
0を指定した場合は、タイムアウトしません。
60
優先度
[priority]
プリロードする優先順位を指定します。
数値が小さいほど優先度が高くなります。 正の整数を指定します。
100
プリロードの状態
データプリロードの状態が示されます。

項目説明
STATUS状態 [INIT | LOADING | DONE | ERROR]

INIT: 読み込み開始待ち
LOADING: 読み込み中
DONE: 読み込み正常終了
ERROR: 読み込み異常終了
START TIME開始時間 (YYYY/MM/dd HH:mm:ss:SSS)
END TIME終了時間 (YYYY/MM/dd HH:mm:ss:SSS)
APPNAME アプリケーション名
UNITNAME 永続化ユニット名
なし