ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Java EE運用ガイド

4.1.6 クライアントアプリケーションの作成方法

メインクラスの作成

Java EEアプリケーションクライアントには、メインクラスが必要です。このクラスには、staticで宣言したmainメソッドが含まれている必要があります。mainメソッドは、Java EEアプリケーションクライアントで最初に実行されるクラスとなります。

メインクラスがMyClassクラスの例

public class MyClass {
    public static void main(String[] args) {
        ...
    }
}

アプリケーションクライアントコンテナは、起動時にクライアントJARファイルのマニフェストファイルからJava EEアプリケーションクライアントのメインクラスを検索します。マニフェストファイルにMain-Class属性を定義することで、メインクラスとして指定されます。マニフェストファイルにメインクラスを定義しなかった場合には、appclientコマンドの-mainclassオプションで指定したメインクラスを検索します。

マニフェストファイルにメインクラスを定義した場合の例

Main-Class: com.mycompany.client.MyClass

依存性の注入(Dependency Injection)の使用方法

Java EEアプリケーションクライアントのメインクラスでは、必要なエントリの宣言をJava言語のアノテーションを使用して実行できます。アノテーションは、アプリケーションクライアントコンテナの起動処理で処理されます。このため、Java SEスタンドアロンクライアントでは処理されません。

配備するクライアントJARファイルのマニフェストファイルにメインクラスを定義した場合、メインクラスに定義したアノテーションに自動的に依存性の注入が行われます。マニフェストファイルにメインクラスを定義しなかった場合、依存性の注入を行うクラス名とフィールド名をdeployment descriptorファイル(application-client.xml)の<injection-target>タグに指定する必要があります。

アプリケーションクライアントコンテナは、メインクラスのインスタンスを生成せずにstatic mainメソッドを呼び出すため、アノテーションを宣言したメソッドおよびフィールドは、static宣言する必要があります。使用可能なアノテーションについては、Java EE規約を参照してください。

次の例では、@EJBというアノテーションを使用して、MyRemoteというリモートインタフェースを持つEnterprise JavaBeanの参照を取得する方法を示します。

import javax.ejb.*;

public class MyClass {
    @EJB static MyRemote remote;
    public static void main(String[] args) {
        ...