問題タブ [stateless-session-bean]

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.

0 投票する
2 に答える
840 参照

jakarta-ee - SessionBeans および CDI と POJO クラスの比較

私は JavaEE 6 チュートリアルを読んでいましたが、SessionBean と CDI のセクションを読んでいるときに、いくつか疑問に思いました。

1) 私が理解したところでは、@EJBアノテーションは SessionBean を注入し、結果として Dependency Inject パターンが使用されます。このパターンは、誰がどのオブジェクトを構築するかという責任を逆転させることを目的としていることを理解しています。したがって、特定のクラスが独自の依存関係を作成する代わりに、コンストラクターでそれらを受け取ります。@EJBしかし、注釈は依存関係を注入しないという問題をどのように軽減しますか? @Inject注釈も同様です。

2)日付をいくつかの形式(yyyy-MM-dd、dd-MM-yyyyなど)にフォーマットするこのユーティリティクラス(静的メソッドのみを含む)があります。これらのメソッドにはステートレス セッション Bean を使用する方が良いですか、それともユーティリティ クラスを保持する必要がありますか? @InjectこれにEJBを使用する場合、それを使用する場合とアノテーションを使用してBeanを使用する場合の違いは何ですか?

3) 依存性注入を使用する場合、Service Locator または Factory パターンを使用することは理にかなっていますか? (Service Locator がアンチパターンとして文書化されているのを見たことがありますが)。

0 投票する
1 に答える
387 参照

mongodb - MongoDB JavaEE シングルトン エクストラ インスタンス

そのため、Jboss 4.2.3で実行されているサーブレットEJBとEJBタイマーを使用して、MongoDB(およびJavaドライバー)を使用しようとしているときに、この小さな問題が発生しました。

私はそのようにmongoシングルトンを作成します

次に、ステートレス セッション Bean (データベース トランザクションに使用) 間でインスタンスを渡します。

何かが欠けていない限り、確かにこれはシングルトンで作成された単一のインスタンスを使用する必要がありますが、Mongo コンソールを確認すると、Mongo インスタンスの作成後にアプリケーションで追加の接続が作成されていることに気付きました。奇数回 (すべてのデータベース トランザクションで発生するわけではありません)、最初のインスタンスが作成された後、mongoSingleton が null になることはありません。

簡単なものが欠けているかもしれませんが、ヒントがあれば便利です。

0 投票する
2 に答える
19592 参照

java - ローカルおよびリモートのステートレス Bean の jndi バインディング

リモートおよびローカル インターフェイスを使用して EJB3 ステートレスを実装しようとしています。問題は、ローカル インターフェイスがアノテーションを使用して他のリモート EJB で呼び出される@EJBことですが、null またはClassCastException( java.lang.ClassCastException: com.sun.proxy.$Proxy58 cannot be cast) を返します。

サーバーでルックアップを実行してローカル ステートレスを取得するには、ステートレスに 2 つの JNDI 名を指定する必要があります。

実際、使用する@EJBと取得NPEし、使用すると、リモート インターフェイスの正しい JNDI 名が取得されます@EJB(beanName=IRemoteInterface.JNDI_NAME)ClassCastException

JBoss で@LocalBindingandのようなものを探しています。@RemoteBinding

多分私は何かを逃していますか?

0 投票する
1 に答える
1008 参照

jakarta-ee - ステートレス Bean: プライベート フィールドの再初期化

私はEJBが初めてです。一部の情報 (構成など) をステートレス Bean に格納しても問題ない場合があると聞きました。私が理解しているように、ステートレス Bean のライフサイクルは Bean のメソッド呼び出しで始まり、メソッドの結論で終わります。メソッドが終了すると、ステートレス Bean がプールに返されます。

  1. Bean のメソッドが呼び出されるたびに、または Bean の作成時にのみ、構成フィールドが再初期化されるどうかを知りたいです。
  2. また、ステートレス Bean のプライベート フィールドに格納できるその他の情報を知りたいです。

前もって感謝します。

0 投票する
1 に答える
225 参照

java - メンバーのインスタンス化で EJB をルックアップ

EJB への参照を非 EJB クラス (EJB で静的メンバーとして使用される) からのメンバーとして保存するという問題があります。

私が持っていると言う

ヘルパー クラスは EJB ではないため、インスタンス化するメンバーの int と呼ばれるルックアップのメソッドがあります。このコードを使用すると、実行時に例外 java.lang.NoClassDefFoundError: Could not initialize class on the SessionBean クラスが発生しました。

MyHelper をこれに変更すると、うまくいきました:

なぜ最初の方法がうまくいかなかったのか疑問に思っています...