Hitachi

Cosminexus V11 アプリケーションサーバ リファレンス 定義編(サーバ定義)


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

〈この項の構成〉

(1) 形式

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

(2) 機能

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

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

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

(3) 指定できるキー

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

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

表12‒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ファイルのキーと共通のシステムプロパティのキーです。

共通のキーの詳細については,「12.2.2 usrconf.properties(Javaアプリケーション用ユーザプロパティファイル)」を参照してください。また,必要に応じて,「2.2.3 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
  • 下線が引かれている部分は,AIXの固有の記述です。

  • 斜体の部分は,OSごとに変数名が異なります。次のとおり置き換えて使用してください。

    AIXの場合:LIBPATH

    Linuxの場合:LD_LIBRARY_PATH