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

variables - EJB3 キャッシング インスタンス変数

私が取り組んでいるプロジェクトに奇妙なコードがあることに気付きました.SLSB EJB3であり、getter/setterを使用してデータのキャッシュを維持するためにプライベートインスタンス変数を使用しています(dataCacheなどとも呼ばれます)。EJB2 および次の場合、これは典型的な EJB アンチパターンでした。SLSB は呼び出し間で状態を保持することを意図していないため、後続の呼び出しで同じデータが表示されるという保証はありません。私の同僚の 1 人は、EJB3 では問題ないかもしれないと言っていましたが (EJB3 の経験はあまりありません)、それでもステートレス セッション Bean です - なぜ状態を維持しようとするのか、これは意味がありません。

これがEJB3の世界ではまだ悪い考えなのか、それとも何とか大丈夫なのか、誰でも確認できますか?

助けてくれたらありがとう、ジャスティン

0 投票する
3 に答える
1052 参照

performance - JSF+ステートレスEJBパフォーマンス

GlassFishv3で実行されているJSF2.0アプリケーションがあります。メインアプリケーションセッション用にJPAを介してデータベースデータを提供するEJBがあります。非IDEアプリサーバーでも、EJB呼び出しは非常に低速です。一部のページ間では、ユーザーは次のページに移動するまで10秒以上待つ必要があります。

EJBは同じアプリケーションサーバー上で実行され、Localインターフェイスのみが使用されます。EJBは@EJBアノテーションを介して注入されます。

手がかりはありますか?

よろしくお願いします、ダニエル

編集解決策については私の答えを参照してください。

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

singleton - EJB 3.0 で独自のシングルトン ステートレス Bean を作成できますか?

現在、EJB 3.1 では、この Bean がシングルトンになることを保証できる javax.ejb.Singleton アノテーションを見つけることができます。

コードにいくつかの変更を加えて、EJB 3.0 でステートレス Bean を使用してシングルトンを確保する方法はありますか (キーワード static を使用するか、それを行う他の方法を使用します....)

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

java - EJB2.1 ステートレス セッション Bean を削除する方法

こんにちは、質問があります: EJB セッション Bean (特にステートレス Bean) を削除するにはどうすればよいですか?

もちろんremove()メソッドはありますが、セッションオブジェクトがトランザクション中に呼び出すことはできません。つまり、セッションBean Aは、そのビジネスメソッドで別のセッションBean Bによって呼び出されます。

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

java - EJB にアクセスする方法

Eclipse の JBOSS 4.2 で Basic EJB3 アプリケーションを開発しようとしています。

Eclipse で EJB プロジェクトを作成しました。

以下は、私のリモート インターフェイスとローカル インターフェイスです。

私のejb実装は

これを展開された JAR として JBoss にデプロイしましたが、問題なく動作します。

私の最初の質問は次のとおりです。

この分解された jar に他に何を追加する必要がありますか?

次に、スタンドアロンのクライアントを作成し、上記の jar をそのクラスパスに追加しました

クライアントコードは次のとおりです

パッケージcom.testejb;

java.io.FileInputStream をインポートします。java.util.Properties をインポートします。

import javax.naming.InitialContext;

}

jar の名前は FirstEJB です。FirstEJB/HelloWorldRemote/remote としてルックアップを試みました。

しかし、プログラムを実行するとエラーが発生します

ルックアップを HelloWorld/remote と入力すると、エラーが発生します

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

configuration - J2EEアプリケーション/Bean構成のベストプラクティス?

EJBに適用するプロパティセットを管理し、マシン/環境(DEV、TEST、PRODなど)間でプロパティセットを簡単に変更できるようにするための最良の方法は何ですか?たとえば、App ServerでEJBプロパティを構成する方法はありますか(これにより、マシン/環境によってプロパティを変更できることが保証されます)。

具体的には:

1)特定のプロパティセット(環境)を必要とするシングルトンEJBがあります。これらのプロパティを検索する場所をEJBコンテナに通知し、それらをBeanに自動的に適用するために使用されるアノテーションはありますか?

2)J2EEアプリがサーバー間で移植可能であり、各サーバーに固有のプロパティをシームレスに管理できるように、さまざまなプロパティセット(dev、test、prodなど)を管理するための最良の方法は何ですか?

良いドキュメントリンクがあれば、私に知らせてください。私はグーグルで調べてみましたが、上記の点に直接何も見えませんでした。

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

jakarta-ee - SFSB ファサードを分割するには?

EJB 3 テクノロジに基づくアプリケーションの開発に問題があります。

セッション Bean で Facade パターンを使用して、エンティティ Bean からクライアント (Web アプリケーション) を分離したいと考えています。

ユーザー セッションの管理に SFSB を使用しています。

だから私はクライアントにメソッド、などFacadeLoginRemoteを公開するリモートインターフェースを持っています...現在、このSFSBには、、などの他のメソッドも含まれています。すべてのユーザーが実際にコース取得してリソースを取得できるわけではないため、Facade は値をクライアントに返す前にいくつかのチェックを実行します。doLogin()doLogout()getCourse(int id)getResource(int id)

Facade を分割し、メソッドgetCourse()を特別なクラスに配置して、ユーザーの権限をチェックする機能にgetResource()任せたいと思います。FacadeLoginRemote

いくつかの異なる SLSB を作成する場合は、それらをクライアントに公開します。そのため、クライアントは からのチェックを回避して直接接続する可能性がありますFacadeLoginRemote

私が間違っている?これを行う方法はありますか?

前もって感謝します、

アンドレア

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

android - AndroidクライアントからセッションBeanのメソッドを呼び出す方法は?

セッションBeanと通信してメソッドを呼び出すAndroidアプリケーションを作成できるかどうかを知りたいです。もしそうなら、誰かがどのように説明できますか?または、JSP /サーブレットを使用してEJBでそのメソッドを呼び出し、Androidクライアントを使用してJSP/サーブレットを呼び出すこともできます。例は高く評価されています

ありがとう !!!

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

hibernate - Hibernate のデバッグ「セッションが閉じられました!」- SSB の乱用?

(まず第一に、これは私のコードではありません。第二に、有罪を保護するために、クラス名を変更して私の雇用主に固有のものを非表示にしました。そのため、物事が互いに対応していない場合はそれが理由です!)。

誰かが疑問を解消するのを手伝ってくれますか? 完全な接続プールの問題を調査するように依頼されましたが、このコードはにおいがするようです。

org.hibernate.SessionException: Session is closed!ログには、動作の悪い接続プールを使用する次のコードの周りに多くのログがあります。

呼び出しは Web サービス経由で行われます。

クラスは次のGetAllResponsesとおりです。

そしてMyHome、次のとおりです。

GetAllResponsesクラスの2 行目MyHomeが静的フィールドとしてインスタンス化され、フィールドの 8 行目と 20 行目MyHomesession割り当てられていることに注意してください。

私の理解では、SSBMyHomeは J2EE サーバー (JBoss 4.2.2 GA) によって管理されていません。これはGetAllResponses、JNDI で検索されるのではなく、クラスの静的フィールドとしてインスタンス化されているためです。したがって、2 つのスレッドが の同じインスタンスに同時にアクセスする可能性がMyHomeあり、セッションがフィールドに保存されるためsession、最初の呼び出しがSession別の に簡単に置き換えられ、 (の 9 行目と 21 行目Sessionを含むあらゆる種類の問題が発生します。たとえば、2 つのスレッドが を呼び出した場合、最初のスレッドは 2 番目のスレッドが 8 行目を実行した直後に 14 行目を実行し、その後 9 行目を実行します)。org.hibernate.SessionException: Session is closed!MyHomefindDataObject

私は正しいですか?

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

jakarta-ee - ステートレスBeanのプールがなくなるとどうなりますか

ステートレスセッションBean(JEE5コンテキスト)をプールできることがわかっています。サーバーのステートレスセッションBeanのプールにインスタンスが残っておらず、別のクライアント要求が入ってくるとどうなるのだろうかと思っていました...

a)クライアントリクエストは(ブロックされた)待機状態になりますか、または

b)サーバーはすぐに接続を拒否します。または

c)この状況をプログラムで処理して、特定のアプリケーションのSLAに基づいてカスタマイズされた応答を提供できますか?