問題タブ [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.
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 がアンチパターンとして文書化されているのを見たことがありますが)。
mongodb - MongoDB JavaEE シングルトン エクストラ インスタンス
そのため、Jboss 4.2.3で実行されているサーブレットEJBとEJBタイマーを使用して、MongoDB(およびJavaドライバー)を使用しようとしているときに、この小さな問題が発生しました。
私はそのようにmongoシングルトンを作成します
次に、ステートレス セッション Bean (データベース トランザクションに使用) 間でインスタンスを渡します。
何かが欠けていない限り、確かにこれはシングルトンで作成された単一のインスタンスを使用する必要がありますが、Mongo コンソールを確認すると、Mongo インスタンスの作成後にアプリケーションで追加の接続が作成されていることに気付きました。奇数回 (すべてのデータベース トランザクションで発生するわけではありません)、最初のインスタンスが作成された後、mongoSingleton が null になることはありません。
簡単なものが欠けているかもしれませんが、ヒントがあれば便利です。
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 で@LocalBinding
andのようなものを探しています。@RemoteBinding
多分私は何かを逃していますか?
jakarta-ee - ステートレス Bean: プライベート フィールドの再初期化
私はEJBが初めてです。一部の情報 (構成など) をステートレス Bean に格納しても問題ない場合があると聞きました。私が理解しているように、ステートレス Bean のライフサイクルは Bean のメソッド呼び出しで始まり、メソッドの結論で終わります。メソッドが終了すると、ステートレス Bean がプールに返されます。
- Bean のメソッドが呼び出されるたびに、または Bean の作成時にのみ、構成フィールドが再初期化されるかどうかを知りたいです。
- また、ステートレス Bean のプライベート フィールドに格納できるその他の情報を知りたいです。
前もって感謝します。
java - メンバーのインスタンス化で EJB をルックアップ
EJB への参照を非 EJB クラス (EJB で静的メンバーとして使用される) からのメンバーとして保存するという問題があります。
私が持っていると言う
ヘルパー クラスは EJB ではないため、インスタンス化するメンバーの int と呼ばれるルックアップのメソッドがあります。このコードを使用すると、実行時に例外 java.lang.NoClassDefFoundError: Could not initialize class on the SessionBean クラスが発生しました。
MyHelper をこれに変更すると、うまくいきました:
なぜ最初の方法がうまくいかなかったのか疑問に思っています...