検索

7.5.4. スコープ EJB クライアントコンテキストの使用

download PDF
概要

JBoss Enterprise Application Platform 6 の初期バージョンで EJB を呼び出すには、通常 JNDI コンテキストを作成し、PROVIDER_URL (ターゲットサーバーを示します) に渡します。JNDI コンテキストを使用してルックアップされた EJB プロキシに対して行われたすべての呼び出しは最終的にそのサーバーに対して行われます。スコープ EJB クライアントコンテキストにより、ユーザーアプリケーションは特定の呼び出しに使用される EJB レシーバーを制御できます。

リモートスタンドアロンクライアントでスコープ EJB クライアントコンテキストを使用する

スコープ EJB クライアントコンテキストが導入される前に、コンテキストは通常クライアントアプリケーションにスコープ指定されていました。スコープクライアントコンテキストにより、EJB クライアントコンテキストを JNDI コンテキストでスコープ指定できるようになりました。以下に、スコープ EJB クライアントコンテキストを使用して同じ Bean を 2 回呼び出すスタンドアロンリモートクライアントアプリケーションの例を示します。

public class MyApplication { 
    public static void main(String args[]) {
 
        // Use the "foo" security credential connect to the server and invoke this bean instance
        final Properties ejbClientContextPropsOne = getPropsForEJBClientContextOne():
        final javax.naming.Context ctxOne = new javax.naming.InitialContext(ejbClientContextPropsOne);
        final MyBeanInterface beanOne = ctxOne.lookup("ejb:app/module/distinct/bean!interface");
        beanOne.doSomething();
        ...
 
        // Use the "bar" security credential to connect to the server and invoke this bean instance
        final Properties ejbClientContextPropsTwo = getPropsForEJBClientContextTwo():
        final javax.naming.Context ctxTwo = new javax.naming.InitialContext(ejbClientContextPropsTwo);
        final MyBeanInterface beanTwo = ctxTwo.lookup("ejb:app/module/distinct/bean!interface");
        beanTwo.doSomething();
        ...
    }
}

スコープ EJB クライアントコンテキストを使用するには、EJB クライアントプロパティーをプログラミングで設定し、コンテキスト作成でプロパティーを渡します。プロパティーは、標準的な jboss-ejb-client.properties ファイルで使用されるのと同じプロパティーセットです。EJB クライアントコンテキストを JNDI コンテキストにスコープ指定するには、org.jboss.ejb.client.scoped.context プロパティーを指定し、その値を true に設定する必要があります。このプロパティーは、EJB クライアント API に、EJB クライアントコンテキスト (EJB レシーバーにより支援される) を作成する必要があることと、作成されたコンテキストが作成元の JNDI コンテキストに対してのみスコープ指定されるか、可視状態であることを通知します。この JNDI コンテキストを使用してルックアップされた、または呼び出されたすべての EJB プロキシは、この JNDI コンテキストに関連付けられた EJB クライアントコンテキストのみを認識します。EJB をルックアップし、呼び出すためにアプリケーションにより使用される他の JNDI コンテキストは、他のスコープ EJB クライアントコンテキストについて認識しません。
org.jboss.ejb.client.scoped.context プロパティーを渡さず、EJB クライアントコンテキストにスコープ指定されない JNDI コンテキストはデフォルトの動作を使用します。デフォルトの動作では、一般的にアプリケーション全体に割り当てられた既存の EJB クライアントコンテキストを使用します。
スコープ EJB クライアントコンテキストは、JBoss Enterprise Application Platform の以前のバージョンの JNP ベース JNDI 呼び出しに関連する柔軟性をユーザーアプリケーションに提供します。スコープ EJB クライアントコンテキストにより、ユーザーアプリケーションはどの JNDI コンテキストがどのサーバーと通信するかや、JNDI コンテキストがどのようにサーバーと接続するかを細かく制御できるようになります。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.