検索

8.5.5. スコープ付き EJB クライアントコンテキストを使用して EJB を設定する

download PDF

概要

EJB は、マップベースのスコープコンテキストを使用して設定できます。これは、jboss-ejb-client.properties にある標準プロパティーを使用して プロパティー マップにプログラムで入力し、org.jboss.ejb.client.scoped.context プロパティーに true を指定し、InitialContext 作成時にプロパティーを渡すことで実現されます。

スコープコンテキストを使用する利点は、EJB を直接参照したり JBoss クラスをインポートしたりせずにアクセスを設定できることです。また、マルチスレッド環境で実行時にホストを設定して負荷分散する方法も提供します。

手順8.10 マップベースのスコープコンテキストを使用して EJB を設定する

  1. プロパティーを設定します。

    標準の jboss-ejb-client.properties ファイルで使用されているのと同じプロパティーのセットを指定して、EJB クライアントのプロパティーをプログラムで設定します。スコープコンテキストを有効にするには、org.jboss.ejb.client.scoped.context プロパティーを指定し、その値を true に設定する必要があります。以下は、プログラムでプロパティーを設定する例です。
    // Configure  EJB Client properties for the InitialContext
    Properties ejbClientContextProps = new Properties();
    ejbClientContextProps.put(“remote.connections”,”name1”);
    ejbClientContextProps.put(“remote.connection.name1.host”,”localhost”);
    ejbClientContextProps.put(“remote.connection.name1.port”,”4447”);
    // Property to enable scoped EJB client context which will be tied to the JNDI context
    ejbClientContextProps.put("org.jboss.ejb.client.scoped.context", “true”);
    
  2. コンテキスト作成でプロパティーを渡す

    // Create the context using the configured properties
    InitialContext ic = new InitialContext(ejbClientContextProps);
    MySLSB bean = ic.lookup("ejb:myapp/ejb//MySLSBBean!" + MySLSB.class.getName());
    

追加情報

  • ルックアップ EJB プロキシーによって生成されたコンテキストは、このスコープコンテキストによってバインドされ、関連する接続パラメーターのみを使用します。これにより、さまざまなコンテキストを作成して、クライアントアプリケーション内のデータにアクセスしたり、さまざまなログインを使用してサーバーに個別にアクセスしたりすることができます。
  • クライアントでは、スコープ付き InitialContext とスコープ付きプロキシーの両方がスレッドに渡され、各スレッドが指定されたコンテキストで動作できるようになります。プロキシーを同時に使用できる複数のスレッドにプロキシーを渡すこともできます。
  • スコープコンテキスト EJB プロキシーは、リモートコールでシリアル化されてから、サーバーで逆シリアル化されます。デシリアライズされると、スコープされたコンテキスト情報が削除され、デフォルトの状態に戻ります。デシリアライズされたプロキシーがリモートサーバーで使用されている場合、作成時に使用されていたスコープコンテキストがなくなったため、EJBCLIENT000025 エラーが発生したり、EJB 名を使用して不要なターゲットを呼び出したりする可能性があります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.