問題タブ [ejb-3.1]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Glassfishを使用した複数のWebプロジェクトの共有EJB3
現在、EJBとWARを含むJ2EEプロジェクトがあります。最終的なEARにバンドルされているWARとEJBモジュールは1つだけですが、すべてうまくいきます。ここで、同じEJBモジュールを使用して別のWARを開発する必要があります。
そこで、新しいWARのライブラリにEJBモジュールを追加しました。問題は、2つのWARと共有EJBにバンドルされているEARをデプロイしようとすると、次の例外が発生することです。
Caused by: java.lang.RuntimeException: Error while binding JNDI name com.alex.ejb.MyBeanRemote__3_x_Internal_RemoteBusinessHome__ for EJB : MyBean
2番目のWARのライブラリからEJBを削除すると、すべてが再び機能します。
見逃したことはありますか?
最後に、本当の問題は「複数のWebアプリケーション内でEJBを共有する方法」です。
手伝ってくれてありがとう
jakarta-ee - CDI: 異なるモジュール / bean アーカイブでインターセプターを使用する
私の Java EE 6 アプリケーションは、ear ファイルにパッケージ化された war と ejb モジュールで構成されています。DI に CDI を使用しています (つまり、両方のモジュールに beans.xml ファイルがあります)。war モジュールの ejb モジュールで定義されているロギング インターセプタも使用したいと考えています。ejb の beans.xml でインターセプターを有効にしました。
これは、 ejb モジュールのインターセプタで注釈が付けられたクラスに対してのみ機能します。war モジュールのクラスはインターセプトされません (ただし、インターセプターのアノテーションも付けられます)。解決策は、戦争のインターセプターでもインターセプターを有効にすることだと思いました(上記のように)。ただし、次のメッセージが表示されてアプリケーションをデプロイできません。
SEVERE: アプリのロード中に例外が発生しました: WELD-001417 有効なインターセプター クラス クラス com.test.interceptor.LoggingInterceptor は、@Interceptor に注釈が付けられておらず、ポータブル拡張機能を介して登録されていません
私の LoggingInterceptor は次のようになります。
そしてインターセプターバインディング:
両方のモジュールにインターセプターを使用するにはどうすればよいですか?
java - 散発的な javax.ejb.AccessLocalException
Glassfish 3.0.1 を使用しています。ローカル EJB を呼び出そうとすると、次のエラーが発生することがあります。
99% の確率で、すべてが正常に機能します。しかし、それが発生すると、その EJB メソッドを呼び出そうとするたびに同じエラーが発生します。これを修正する唯一の方法は、アプリケーションをアンデプロイし、再度デプロイすることです。誰が何が起こっているのか教えてもらえますか?
jpa - PUが指定されている場合の「永続性ユニットを解決できませんでした...」エラーの修正が見つかりました
今日(2010-11-12)現在、Glassfish3.1-SNAPSHOTを実行しています。
埋め込まれたEJBContainerを使用しています。
クラスパスには、EJBContainerによって報告されているように、META-INF/persistence.xmlがあります。このファイルは、2つの永続性ユニットを定義します。1つは「ngp」と呼ばれ、もう1つは「cx」と呼ばれます。
デバッグ出力は、Glassfish JPAデプロイヤがそれを検出し、cxPUとngpPUの両方を認識することを示しています。
EJBContainerは、次の非常に一般的なJPAエラーで爆破します。
デプロイメントログには、少なくともデプロイヤーが両方の永続性ユニットに遭遇したことが示されていることを再度強調します。
「cx」PUを使用するクラスには、通常の定型文が含まれています。
persistence.xmlは(通常のMavenの場所)に存在しtarget/test-classes/META-INF
、次のようになります。
Glassfishに埋め込まれたEJBContainerは、その作業を実行している間、次のように出力します。
レシピのトラブルシューティング、誰か?
java - 複数のEJB間でenv-entryを共有する
私は現在、複数のejbと1つのejb-jar.xmlを使用するプロジェクトに取り組んでいます。ejb-jar.xmlのenv-entryをさまざまなejb間で共有する方法を知りたいです。
例 :
私は次のejb-jar.xmlを持っています
MyBeanAにいるとき、私は以下を使用します:
次のコードでmyVarの値を取得できます。
MyBeanBのような別のejbでmyVarの値を取得する方法はありますか?
java - EJB 3.1-EJB内で@EJBを使用する-それは可能ですか?
別のEJB内で@EJBを使用することは可能ですか?私は今これを行おうとしていますが、EJBがnullになってしまいます。例で問題の概要を説明します。
このようなことは可能でしょうか?また、(EJBContainerを介して)組み込みコンテナーを使用しており、JNDIを使用してAccountServiceを検索していることにも言及する必要がありますが、AccountServiceでloginService.createLoginを呼び出そうとすると、loginServiceはnullになります(によって初期化されません) @EJB)。
私がやろうとしていることは可能ですか?
ありがとう。
java - EJB を EAR ファイルに配置する場合、エンティティ クラスをそこに配置する必要がありますか、別の jar、または Web アプリケーションに配置する必要がありますか?
EJB を EAR ファイルに配置する場合、エンティティ クラス、別の jar ファイル、または Web アプリをそこに配置する必要がありますか?
ありがとう。
java - GlassfishでリモートEJBクライアントのIPアドレスを取得するにはどうすればよいですか?
タイトルが言うように:
GF3.0.1にデプロイされたEJBアプリケーションに接続するSwingスタンドアロンクライアントがあります。EJBメソッド内のクライアントIPにアクセスしたいのですが。
これは可能ですか?
私もこのスレッドを見つけましたが、解決策はJBoss用でした...
java - EJBインターセプターからの例外のスロー
このようなsmthに見えるインターセプターがあるとしましょう:
これは、EJBとは異なるメソッドに適用されます。
通常、すべての通常のEJB例外と同様に、例外が呼び出し元のクライアントに渡されることを期待します。
どうやらこれは、インターセプターからスローした場合には発生しません...サーバーにログオンしていません。スローされてもスローされないように、returnステートメントは実行されません。
私は何が間違っているのですか?
GF3.0.1を使用しています
singleton - クラスタ内の EJB 3.1 シングルトン
クラスター環境での EJB 3.1 シングルトンに関する情報はあまり見つかりませんでした。これらのシングルトンが JVM ごとに 1 つのインスタンスを保証すると仕様が述べているのは本当ですか? つまり、クラスタ ノードごとに 1 つです。クラスター全体に 1 つではありませんか?