クライアント配布物
リモート環境からアクセスする場合、Enterprise Beanを呼び出すアプリケーションを作成するためには、Enterprise Beanの Homeインタフェース/Remoteインタフェースのコンパイル済みクラスをクラスパスに設定する必要があります。このコンパイル済みクラスをクライアント配布物と呼びます。
クライアント配布物は以下の条件が揃った場合に、Enterprise Beanの配備時にEJBプロジェクト配下のdistributeフォルダに生成されます。
EJBプロジェクトのバージョンが2.0または2.1になっている。
[サーバランタイム]に[Interstage Application Server V10.0 IJServer(J2EE)]が指定されている。
配備先のJ2EE実行環境のIJServerの種別が[WebアプリケーションとEJBアプリケーションを別JavaVMで運用]または[EJBアプリケーションのみ運用]で作成されている。
java.naming.factory.initialプロパティの設定
クライアントアプリケーションからEnterprise Beanを呼び出す場合には、以下の組み合わせで、javaコマンドの-Dオプションなどを使用してシステムプロパティを設定する必要があります。
クライアント種別 | キー | 値 | 備考 |
---|---|---|---|
EJBクライアント | java.naming.factory.initial | com.fujitsu.interstage.ejb.jndi.FJCNCtxFactoryForClient | |
J2EEアプリケーションクライアント | com.fujitsu.interstage.j2ee.jndi.InitialContextFactoryForClient | J2EEアプリケーションクライアントのdeployment descriptorに参照するEJBの情報を指定する必要があります。 |
Webサービス化した場合はEARにする
Stateless Session BeanをWebサービス化した場合は、EARファイルで配備する必要があります。[新規 エンタープライズアプリケーションプロジェクト]ウィザードを実行して、エンタープライズアプリケーションプロジェクトを作成します。このとき、エンタープライズアプリケーションに追加するJ2EEモジュールとして、Enterprise JavaBeansプロジェクトを選択します。
リモートサーバを使う場合のネーミングサービスの環境変更
ネーミングサービスにアクセスするクラスの実装を指定するため、以下のように環境プロパティ(java.naming.factory.initial)に実装クラス名を指定する必要があります。
EJBクライアントの場合はEnterprise Beanを呼び出す以外(トランザクション制御やリソースアクセス)は行えません。
クライアント種別 | 値 |
---|---|
EJBクライアント | com.fujitsu.interstage.ejb.jndi.FJCNCtxFactoryForClient |
J2EEアプリケーションクライアント | com.fujitsu.interstage.j2ee.jndi.InitialContextFactoryForClient |
設定する方法には以下があります。
jndi.propertiesファイル
FJjndi.propertiesファイル
javax.naming.InitialContext(Hashtable environment)引数
アプリケーション起動時のjavaコマンドラインでの引数(-D)
実際にクライアントアプリケーション実行時にエラーが発生する場合は、環境が正しく設定されていない可能性があります。"Interstage Studio ユーザーズガイド"の"トラブルシューティング"やInterstage Application Serverのマニュアルなどを参考に環境を再確認してください。
クライアント製品の場合、ネーミングサービス接続先サーバの指定
Interstage Application Serverのクライアント機能がインストールされている状態で、実際にリモート環境のEnterprise Beanを呼び出す場合には、ネーミングサービスにアクセスするために、ネーミングサービスの接続先情報を指定する必要があります。以下のファイルにサーバ情報を記述してください。
Interstage Application Serverインストールフォルダ\odwin\etc\inithost
1VMはリモート環境からEnterprise Beanを呼び出せない
配備先のIJServerの種別が[WebアプリケーションとEJBアプリケーションを同一JavaVMで運用]の場合には、リモート環境からEnterprise Beanを呼び出すことができません。クライアントから呼び出すためには、[WebアプリケーションとEJBアプリケーションを別JavaVMで運用]もしくは[EJBアプリケーションのみ運用]に配備する必要があります。
EJB2.1のアプリケーションは、リモート環境からアクセスできない
Interstage Application Serverで運用するEJB2.1のアプリケーションは、リモート環境からアクセスすることができないため、Webアプリケーションからローカルにアクセスするようにしてください。
JMSコネクションファクトリとDestination
クライアント-サーバで、Message-driven Beanを動作させるためには、JMSコネクションファクトリとDestinationをクライアント側でも作成する必要があります。クライアント側で作成する場合にはJMS運用コマンドを使って作成してください。
クライアント側では、Interstage Application ServerのJMS運用コマンドを使用し、以下のように登録処理を行います。
JMSコネクションファクトリの登録
デフォルトのJMSコネクションファクトリを使用する場合は登録の必要はありません。
デフォルト以外を使用する場合はjmsmkfactコマンドを使用します。
jmsmkfactコマンドの詳細については、"Interstage Application Server リファレンスマニュアル(コマンド編)"を参照してください。
Destination定義の登録
Destination定義の登録は、jmsmkdstコマンドを使用します。
jmsmkdstコマンドの詳細については、"Interstage Application Server リファレンスマニュアル(コマンド編)"を参照してください。