アプリケーションクライアント

appclientコマンドはアプリケーションクライアントコンテナを起動し、JARファイルにパッケージされたクライアントアプリケーション(クライアントアプリケーションJarファイル) を実行するために使用します。クライアントアプリケーションJarファイルは配備ツールや、otxadmin deployコマンドによる配備時に作成されます。 WebOTX Developerからも作成可能です。

アプリケーションクライアントコンテナとは、Java仮想マシン(JVM)上で動く第1層アプリケーションクライアントの実行に必要なJavaのクラスや ライブラリ、その他ファイルの集まりのことです。アプリケーションクライアントコンテナはRMI-IIOPを利用してWebOTXと通信を行います。

クライアントアプリケーションJarファイルは他のJ2EEコンポーネントのように配備記述子(application-client.xml)を含みます。 これにより、環境エントリ、EJB参照やリソース参照を使用することができます。詳しくはJava 2 Platform Enterprise Edition Specification, v1.4 の10章を参照してください。

使用方法

appclient -client appjar [-mainclass appClass-name|-name display-name] [-xml xml] [-noauth | -textauth] [-jndiurl JNDI server URL] [-appcpath specify class search path like java -classpath] [-nodesc] [アプリケーション引数]

オプションの説明
オプション 説明
-client クライアントアプリケーションJarファイルの名前と場所を指定します。このオプションは必須です。
-mainclass アプリケーションクライアントコンテナが起動させるmain()メソッドを持つクラスの完全なクラス名を指定します。指定しない場合はマニフェストに書かれたMain-Classの値が使用されます。 クラス名はcom.nec.test.AppClientのように完全に書く必要があります。
-name クライアントアプリケーションの表示名を指定します。表示名とはapplication-client.xmlのdisplay-name 要素で指定された名前のことです。複数のクライアントアプリケーションJarの入ったEARファイルに対し、どのJarを起動するかを指定する際に使用します。
-xml クライアントコンフィグレーションXMLファイルの名前と場所を指定します。指定しない場合は、(WebOTXディレクトリ)/config/asenv.conf(Windowsの場合は asenv.bat)のAS_ACC_CONFIGの値が使用されます。
-noauth ログインを行ないません。-noauth、-textauthどちらも指定しない場合はGUIからログインを行います。
-textauth テキストベースのログインを行います。-noauth、-textauthどちらも指定しない場合はGUIからログインを行います。
-jndiurl JNDIサーバのURLを指定します。
(例) -jndiurl rmiiiop://jndiserver
-appcpath クライアントアプリケーションの実行に必要なクラスを含むJarファイルのパスを指定します。javaコマンドの-classpathオプションと同じように指定してください。
-nodesc application-client.xmlを含まないJarファイルを起動するときに使用します。環境エントリ、EJB参照、リソース参照は使用できません。このオプションは複数のクライアントアプリケーションJarの入ったEARファイルに対しては指定できません。(エラーとなります)
クラスパスの指定

appclientからクライアントアプリケーションを起動する際に、実行に必要なクラスを含むJarファイルのパスを指定する方法は 2つあります。1つは前述の-appcpathオプションです。もう1つはAPPCPATH環境変数です。javaコマンドにおけるCLASSPATH環境変数と同様に指定します。

-appcpathオプションとAPPCPATH環境変数は同時に使用できますが、その場合注意すべき点があります。クラスローダの階層構造の関係により、 APPCPATHで指定されたJarのクラスから、-appcpathで指定されたJarのクラスを参照しようとすると、ロードに失敗します。 逆(つまり、-appcpathで指定されたJarのクラスから、APPCPATH環境変数で指定されたJarのクラスへの参照)については問題ありません。

同様に、APPCPATH環境変数で指定されたJarのクラスから-clientで指定されたクライアントアプリケーションJarファイル内のクラスを参照することもできません