問題タブ [stateful-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 に答える
2173 参照

jakarta-ee - ステートフル セッション Bean が本番環境で機能しない - NoSuchObjectLocalException

1 つのステートフル セッション Bean を含むデプロイ済みの Java Web アプリケーションに問題があります。この Bean を呼び出そうとするまで、すべて正常に動作します。例外があります:

私はそれをグーグルで検索しようとしましたが、この例外は、対応するセッションキーを持つステートフル セッション Bean が存在しないか、何らかの理由で破棄されたことを意味することがわかりました。ただし、私のローカルホストではすべて正常に動作します。

Web 上のいくつかの記事によると、このセッション Bean が破棄される原因となるデータベース エラーが発生している可能性があります。MySQL エラー ログには何も見つかりませんでした。他の STATELESS セッション Bean は問題なく動作し、データベース上で問題なく動作します。

私はここで立ち往生しており、何を試すべきかわかりません。何が間違っている可能性がありますか?セッション Bean を機能させるために、JDBC 接続プールまたはリソースでセットアップする必要があるものはありますか?

更新:ログからのこれらのエラーメッセージは、何らかの方法でエラーを説明していると思います:

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

ejb-3.0 - ステートフル セッション Bean のライフサイクル

SynchronizedList を初期化する「ステートフル セッション Bean」があります。製品をリストに追加してリストを確認すると、(すべて同じセッション中に) 機能します。アプリケーションの「アンデプロイ」を行ってから別の「デプロイ」を行うと、Bean の保存データがすべて失われるのは正常ですか?

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

jakarta-ee - ステートレス セッション Bean よりもステートフル セッション Bean を使用する場合は?

ステートフル セッション Bean は次のように定義されます。

ステートフル セッション Bean オブジェクトの状態は、そのインスタンス変数の値で構成されます。ステートフル セッション Bean では、インスタンス変数は一意のクライアント Bean セッションの状態を表します。クライアントはその Bean と対話 (「対話」) するため、この状態は多くの場合、会話状態と呼ばれます。

ステートレス セッション Bean は次のように定義されます。

ステートレス セッション Bean ステートレス セッション Bean は、クライアントとの会話状態を維持しません。クライアントがステートレス Bean のメソッドを呼び出すと、Bean のインスタンス変数には、そのクライアントに固有の状態が含まれる場合がありますが、呼び出しの間だけです。メソッドが終了すると、クライアント固有の状態は保持されません。ただし、クライアントは、プールされたステートレス Bean のインスタンス変数の状態を変更することができ、この状態は、プールされたステートレス Bean の次の呼び出しまで保持されます。メソッドの呼び出し中を除いて、ステートレス Bean のすべてのインスタンスは同等であるため、EJB コンテナはインスタンスを任意のクライアントに割り当てることができます。つまり、ステートレス セッション Bean の状態は、すべてのクライアントに適用される必要があります。

ステートフル セッション Bean よりもステートレス セッション Bean を使用する利点は次のとおりです。

ステートレス セッション Bean は複数のクライアントをサポートできるため、多数のクライアントを必要とするアプリケーションのスケーラビリティが向上します。通常、アプリケーションは、同じ数のクライアントをサポートするために、ステートフル セッション Bean よりも少ないステートレス セッション Bean を必要とします。

頭に浮かぶ疑問は、いつステートフル セッション Bean を使用する必要があるかということです。この問題についての私の素朴な理解では、できる限りステートレス セッション Bean を使用することに固執する必要があります。

ステートフル セッション Bean を使用する候補は何ですか? 良い例はありますか?

セッション Bean

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

stateless-session-bean - ShoppingCart をステートフル セッション Bean として使用する理由

ステートフル セッション Bean を使用する典型的な例の 1 つは、ShoppingCart の例です。ShoppingCart クラスの Bean インスタンスを作成し、このインスタンスを HttpSession 内に格納します。ただし、通常の Java クラス (またはステートレス セッション Bean) である ShoppingCart クラスを使用すると、同じことが簡単に実現できます。商品を追加するリクエストが来たら、cart オブジェクトを作成し、その cart オブジェクトを HttpSession 内に配置します。

したがって、ここでステートフル セッション Bean の ShoppingCart を使用する意味がわかりません。一般に、ステートフル セッション Bean は重要な役割を果たしているようには見えません。

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

java - ルックアップはステートフル セッション Bean の新しいインスタンスを返します

Java EE 5EJB 3.0、を使用していJboss AS 4.3.2ます。
私は最も単純なStateful豆 を持っています

このBeanのサーブレットでルックアップを行います

StateBeanただし、の新しいインスタンスが作成されるたびに。
2 回呼び出すことができますlookupが、の新しいインスタンスがStateBean再度作成され ます

同じ http セッションで同じインスタンスが必要です

web.xml でのサーブレット マッピング

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

java - ステートフルな EJB 拡張で検索によって見つかった JPA エンティティは管理されていません

em.find で見つかったエンティティは em で自動的に管理されていると思っていたのですが、以下のクラスはその逆のようです。私は間違っていましたか、それともそのクラスの間違いは何ですか?

編集 1: エンティティのコード

ステートフル EJB のコード:

NetBeans 7.4、GlassFish 4.0、EJB 3.2、Java DB を使用しています。