14.4 Javaアプリケーションに指定するシステムプロパティ

<この節の構成>
(1) 形式
(2) 機能
(3) 指定できるキー
(4) 記述例

(1) 形式

Win32のバッチファイル形式(Windowsの場合),またはシェルスクリプトファイル形式(UNIXの場合)のファイルに指定します。

(2) 機能

vbjコマンドを使用する場合に,Javaアプリケーションを実行するJavaVMのシステムプロパティを指定します。

また,java.lang.System.setProperty()で定義する場合は,該当機能を最初に使う前までにプロパティの定義が必要になります。

Javaアプリケーションを実行中に,このファイルの内容を変更した場合,変更した内容は,次回Javaアプリケーションを起動したときに反映されます。

(3) 指定できるキー

vbjコマンドで指定できるキーを次の表に示します。

「関連情報」とは,指定したキーに関する情報の参照先です。マニュアル名称の「アプリケーションサーバ」を省略しています。

表14-3 Javaアプリケーションに指定するシステムプロパティ

分類キー名称種別指定可否関連情報
共通のキーejbserver.client.ctm.RequestPriority選択
可変
 
ejbserver.client.ejb.log選択
可変
 
ejbserver.client.log.appid選択
可変
 
ejbserver.client.log.directory選択
可変
 
ejbserver.client.log.lockInterval選択
可変
 
ejbserver.client.log.lockRetryCount選択
可変
 
ejbserver.container.rebindpolicy選択
可変
「機能解説 基本・開発編(EJBコンテナ)」の「2.13 EJBのリモートインタフェースの呼び出し」
ejbserver.jndi.cache選択
可変
 
ejbserver.jndi.cache.interval選択
可変
 
ejbserver.jndi.cache.interval.clear.option選択
可変
 
ejbserver.jndi.namingservice.group.list選択
可変
 
ejbserver.jndi.namingservice.group.<Specify group name>.providerurls選択
可変
 
ejbserver.jndi.request.timeout選択
可変
 
ejbserver.logger.channels.define.<チャネル名>.filenum選択
可変
 
ejbserver.logger.channels.define.<チャネル名>.filesize選択
可変
 
ejbserver.logger.enabled.*選択
可変
 
ejbserver.rmi.request.timeout選択
可変
 
ejbserver.security.service.url選択
可変
 
ejbserver.serverName可変 
ejbserver.server.prf.PRFID選択
可変
 
java.naming.factory.initial可変 
java.naming.provider.url可変 
vbroker.agent.enableLocator選択
可変
 
vbroker.orb.htc.comt.entryCount選択
可変
 
vbroker.orb.htc.comt.fileCount選択
可変
 
vbroker.orb.htc.tracePath選択
可変
 
独自のキーejbserver.jndi.log.message.verbosemode選択
可変
 
ejbserver.server.prf.processName選択
可変
 
java.endorsed.dirs可変× 
java.naming.factory.object固定 
java.naming.factory.state固定 
javax.rmi.CORBA.UtilClass固定 
javax.rmi.CORBA.StubClass固定× 
javax.rmi.CORBA.PortableRemoteObjectClass固定 
org.omg.PortableInterceptor.ORBInitializerClass.com.hitachi.software.ejb.security.std.interceptor.SecurityClientInterceptorInit固定 
java.security.policy固定 
org.omg.CORBA.ORBClass固定× 
org.omg.CORBA.ORBSingletonClass固定× 
(凡例)
○:コマンドにキーを指定する必要があります。
×:コマンドにキーを指定する必要はありません。
空欄:関連情報はありません。
種別
固定の場合,該当するキーに対する値は固定で,必ず指定する必要があります。可変の場合,システムの実行環境に従って値を指定する必要があります。選択可変の場合は,システムの実行環境に従って値を指定するか,または指定を省略します。
注※
チャネル名称として次に示す名称を設定できます。
ClientMessageLogFile,ClientExceptionLogFile,ClientMaintenanceLogFile
資料の取得については,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」の「2.3 資料の取得」を参照してください。

(a) 共通のキー

Javaアプリケーション用usrconf.propertiesファイルのキーと共通のシステムプロパティのキーです。

共通のキーの詳細については,「14.3 usrconf.properties(Javaアプリケーション用ユーザプロパティファイル)」を参照してください。また,必要に応じて,「2.4 usrconf.properties(J2EEサーバ用ユーザプロパティファイル)」も参照してください。

(b) 独自のキー

システムプロパティ独自のキーです。

独自のキーの詳細を次に示します。

ejbserver.jndi.log.message.verbosemode
種別:選択可変
値:onまたはoff
通常値:off
内容:
標準出力にメッセージログ出力を指定します。
ejbserver.server.prf.processName
種別:選択可変
値:任意のクライアント識別子
通常値:EJBClient
内容:
性能解析トレースファイルの編集結果で,プロセス名称として表示させたい名前を指定します。nullを指定した場合またはこのキーを指定しない場合,通常値が使用されます。
java.endorsed.dirs
種別:可変
値:ディレクトリパス
通常値:<Application Serverのインストールディレクトリ>¥TPB¥lib¥endorsed(Windowsの場合),または/opt/Cosminexus/TPB/lib/endorsed(UNIXの場合)
内容:
Endorsed Standards Override Mechanismを使って置き換えるクラスがあるディレクトリパスを指定します。
java.naming.factory.object
種別:固定
値:com.hitachi.software.ejb.jndi.InsNamingFactory
内容:
JNDIのSPIであるObjectFactoryの実装クラスを指定します。

ObjectFactoryはオブジェクト検索時にオブジェクト変換をします。

なお,旧バージョンで使用されていた値(com.hitachi.software.ejb.jndi.nameserver.spi.cos.wrappers.vbj.WrapperObjectFactory)と互換性があります。

java.naming.factory.state
種別:固定
値:com.hitachi.software.ejb.jndi.InsNamingFactory
内容:
JNDIのSPIであるStateFactoryの実装クラスを指定します。
StateFactoryはオブジェクト登録時のオブジェクト変換をします。
なお,旧バージョンで使用されていた値(com.hitachi.software.ejb.jndi.nameserver.spi.cos.wrappers.vbj.WrapperStateFactory)と互換性があります。
javax.rmi.CORBA.UtilClass
種別:固定
値:com.hitachi.software.ejb.rmi.Util
内容:
javax.rmi.CORBA.Utilの実装クラス名を指定します。
なお,旧バージョンで使用されていた値(com.inprise.vbroker.rmi.CORBA.UtilImpl)と互換性があります。
javax.rmi.CORBA.StubClass
種別:固定
値:com.inprise.vbroker.rmi.CORBA.StubImpl
内容:
javax.rmi.CORBA.Stubの実装クラス名を指定します。
javax.rmi.CORBA.PortableRemoteObjectClass
種別:固定
値:com.hitachi.software.ejb.rmi.PortableRemoteObject
内容:
javax.rmi.PortableRemoteObjectの実装クラス名を指定します。
なお,旧バージョンで使用されていた値(com.inprise.vbroker.rmi.CORBA.PortableRemoteObjectImpl)と互換性があります。
org.omg.PortableInterceptor.ORBInitializerClass.com.hitachi.software.ejb.security.std.interceptor.SecurityClientInterceptorInit
種別:固定
値:1
内容:
セキュリティ機能用のクライアント側インターセプタの初期化クラスを指定します。
JavaアプリケーションがEJBのセキュリティインタフェースを利用し,J2EEサーバにログインをしてEJBを呼び出す場合だけ指定します。
java.security.policy
種別:固定
値:<セキュリティポリシーファイルへの絶対パス>
内容:
<Application Serverのインストールディレクトリ>¥CC¥client¥cli.policy(Windowsの場合),または/opt/Cosminexus/CC/client/cli.policy(UNIXの場合)をクライアント側の任意のディレクトリにコピーし,そのファイル名を絶対パスで指定します。ファイルの内容は変更しないでください。
org.omg.CORBA.ORBClass
種別:固定
値:com.inprise.vbroker.orb.ORB
内容:
ORBの実装クラス名を指定します。
org.omg.CORBA.ORBSingletonClass
種別:固定
値:com.inprise.vbroker.orb.ORBSingleton
内容:
ORBのシングルトン用の実装クラス名を指定します。

(4) 記述例

システムプロパティの記述例をOSごとに示します。

(a) Windowsの場合

Javaアプリケーションを開始するbatファイルの記述例を次に示します。これはvbjコマンドを使ってJavaアプリケーションを開始する場合の例です。なお,CLASS_PATHに指定するJARファイルのクラスパスについては,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(EJBコンテナ)」の「3.7.4 EJBクライアントアプリケーションのクラスパスへのJARファイルの設定」を参照してください。

環境変数については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「付録H システムの環境変数」を参照してください。

setlocal

rem --- set environment ---
set COSMI_HOME=C:¥Program Files¥Hitachi¥Cosminexus
set SERVERNAME=MyServer
set PRF_HOME=%COSMI_HOME%¥PRF
set TPB_HOME=%COSMI_HOME%¥TPB
set JAVA_HOME=%COSMI_HOME%¥jdk
set VBJ="%TPB_HOME%¥bin¥vbj"
set VBROKER_ADM=%TPB_HOME%¥adm
set PATH=%PRF_HOME%¥bin;%TPB_HOME%¥bin;%JAVA_HOME%¥bin;%PATH%

rem --- set class path ---
set CLASS_PATH=%COSMI_HOME%¥TPB¥lib¥vbjorb.jar
set CLASS_PATH=%CLASS_PATH%;%COSMI_HOME%¥TPB¥lib¥vbsec.jar
set CLASS_PATH=%CLASS_PATH%;%COSMI_HOME%¥PRF¥lib¥cprf.jar
set CLASS_PATH=%CLASS_PATH%;%ProgramFiles%¥Hitachi¥HNTRLib2¥classes¥hntrlibMj.jar
set CLASS_PATH=%CLASS_PATH%;%COSMI_HOME%¥CC¥lib¥hitj2ee.jar
set CLASS_PATH=%CLASS_PATH%;%COSMI_HOME%¥CC¥client¥lib¥HiEJBClientStatic.jar
set CLASS_PATH=%CLASS_PATH%;stubs.jar
set CLASS_PATH="%CLASS_PATH%;1.jar"

rem --- set properties ---
set PROPS=-Djavax.rmi.CORBA.UtilClass=com.hitachi.software.ejb.rmi.Util
set PROPS=%PROPS% -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.hitachi.software.ejb.rmi.PortableRemoteObject
set PROPS=%PROPS% -Djava.naming.factory.initial=com.hitachi.software.ejb.jndi.InsContextFactory
set PROPS=%PROPS% -Djava.naming.factory.object=com.hitachi.software.ejb.jndi.InsNamingFactory
set PROPS=%PROPS% -Djava.naming.factory.state=com.hitachi.software.ejb.jndi.InsNamingFactory
set PROPS=%PROPS% -Djava.naming.provider.url=corbaname::localhost:900
set PROPS=%PROPS% -Dejbserver.jndi.cache=on
set PROPS=%PROPS% -Dejbserver.jndi.cache.interval=0
set PROPS=%PROPS% -Dejbserver.jndi.cache.interval.clear.option=refresh
set PROPS=%PROPS% -Dejbserver.jndi.request.timeout=0
set PROPS=%PROPS% -Dejbserver.rmi.request.timeout=0
set PROPS=%PROPS% -Dejbserver.serverName=%SERVERNAME%
set PROPS=%PROPS% -Dvbroker.agent.enableLocator=false
set PROPS=%PROPS% -Dorg.omg.PortableInterceptor.ORBInitializerClass.com.hitachi.software.ejb.security.std.interceptor.SecurityClientInterceptorInit=1
set PROPS=%PROPS% "-Djava.security.policy==%COSMI_HOME%¥CC¥client¥cli.policy"
set PROPS=%PROPS% -Dejbserver.server.prf.processName=EJBClient
set PROPS=%PROPS% "-Dejbserver.client.log.directory=%COSMI_HOME%¥CC¥client¥logs"
set PROPS=%PROPS% -Dejbserver.logger.enabled.*=Error

rem --- execute client ---
%VBJ% -VBJclasspath %CLASS_PATH% %PROPS% ConverterClient

endlocal

(b) UNIXの場合

Javaアプリケーションを開始するシェルスクリプトの記述例を次に示します。これはvbjコマンドを使ってJavaアプリケーションを開始する場合の例です。

なお,CLASS_PATHに指定する環境変数については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「付録H システムの環境変数」を参照してください。

#!/bin/csh -f

# --- environment ---
set COSMI_HOME=/opt/Cosminexus
set SERVERNAME="MyServer"
set PRF_HOME="${COSMI_HOME}/PRF"
set TPB_HOME="${COSMI_HOME}/TPB"
set JAVA_HOME="${COSMI_HOME}/jdk"
set VBJ="${TPB_HOME}/bin/vbj"
setenv PSALLOC early
setenv NODISCLAIM true
setenv AIXTHREAD_SCOPE S
setenv AIXTHREAD_MUTEX_DEBUG OFF
setenv AIXTHREAD_RWLOCK_DEBUG OFF
setenv AIXTHREAD_COND_DEBUG OFF
setenv EXTSHM ON
setenv LDR_CNTRL MAXDATA=0x40000000
setenv VBROKER_ADM "${TPB_HOME}/adm"
setenv PATH "${JAVA_HOME}/bin:${PATH}"
set LPATH="${TPB_HOME}/lib:${PRF_HOME}/lib"
if ($?LIBPATH) then
       setenv LIBPATH "${LPATH}:${LIBPATH}"
else
       setenv LIBPATH "${LPATH}"
endif

# --- class path ---
set CLASS_PATH="${COSMI_HOME}/TPB/lib/vbjorb.jar"
set CLASS_PATH="${CLASS_PATH}:${COSMI_HOME}/TPB/lib/vbsec.jar"
set CLASS_PATH="${CLASS_PATH}:${COSMI_HOME}/PRF/lib/cprf.jar"
set CLASS_PATH="${CLASS_PATH}:/opt/hitachi/HNTRLib2/classes/hntrlibMj.jar"
set CLASS_PATH="${CLASS_PATH}:${COSMI_HOME}/CC/lib/hitj2ee.jar"
set CLASS_PATH="${CLASS_PATH}:${COSMI_HOME}/CC/client/lib/HiEJBClientStatic.jar"
set CLASS_PATH="${CLASS_PATH}:stubs.jar"
set CLASS_PATH="${CLASS_PATH}:1.jar"

# --- properties ---
set PROPS="-Djavax.rmi.CORBA.UtilClass=com.hitachi.software.ejb.rmi.Util"
set PROPS="${PROPS} -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.hitachi.software.ejb.rmi.PortableRemoteObject"
set PROPS="${PROPS} -Djava.naming.factory.initial=com.hitachi.software.ejb.jndi.InsContextFactory"
set PROPS="${PROPS} -Djava.naming.factory.object=com.hitachi.software.ejb.jndi.InsNamingFactory"
set PROPS="${PROPS} -Djava.naming.factory.state=com.hitachi.software.ejb.jndi.InsNamingFactory"
set PROPS="${PROPS} -Djava.naming.provider.url=corbaname::localhost:900"
set PROPS="${PROPS} -Dejbserver.jndi.cache=on"
set PROPS="${PROPS} -Dejbserver.jndi.cache.interval=0"
set PROPS="${PROPS} -Dejbserver.jndi.cache.interval.clear.option=refresh"
set PROPS="${PROPS} -Dejbserver.jndi.request.timeout=0"
set PROPS="${PROPS} -Dejbserver.rmi.request.timeout=0"
set PROPS="${PROPS} -Dejbserver.serverName=${SERVERNAME}"
set PROPS="${PROPS} -Dvbroker.agent.enableLocator=false"
set PROPS="${PROPS} -Dorg.omg.PortableInterceptor.ORBInitializerClass.com.hitachi.software.ejb.security.std.interceptor.SecurityClientInterceptorInit=1"
set PROPS="${PROPS} -Djava.security.policy==${COSMI_HOME}/CC/client/cli.policy"
set PROPS="${PROPS} -Dejbserver.server.prf.processName=EJBClient"
set PROPS="${PROPS} -Dejbserver.client.log.directory=${COSMI_HOME}/CC/client/logs"

# --- execute client ---
${VBJ} -VBJclasspath ${CLASS_PATH} ${PROPS} ConverterClient