メインクラスの作成
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) { ...