問題タブ [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.
java - メンバーのインスタンス化で EJB をルックアップ
EJB への参照を非 EJB クラス (EJB で静的メンバーとして使用される) からのメンバーとして保存するという問題があります。
私が持っていると言う
ヘルパー クラスは EJB ではないため、インスタンス化するメンバーの int と呼ばれるルックアップのメソッドがあります。このコードを使用すると、実行時に例外 java.lang.NoClassDefFoundError: Could not initialize class on the SessionBean クラスが発生しました。
MyHelper をこれに変更すると、うまくいきました:
なぜ最初の方法がうまくいかなかったのか疑問に思っています...
java - EJB 2 セッション Bean を分割する方法
非常に複雑になっているいくつかのセッション Bean があるので、それらを分割する方法を見つけたいと思っていますが、それでも分割された部分をセッション Bean として扱う必要があります。
jsf-2 - セッション スコープの Bean がユーザー セッションに格納されていない
JSF HTTP セッション ログインで BaluC の回答に基づいて簡単な認証アプリケーションを開発しようとしましたが、問題は、セッション スコープの BeanUserManager
がユーザー セッションに保存されていないためLoginFilter
、ユーザーがログインしているかどうかをチェックするときに、
UserManager userManager=(UserManager)req.getSession().getAttribute("userManager");
戻りますnull
!
この問題を解決する方法について何か考えはありますか?
java - 不明な例外クラスのスタック トレースの処理
sをスローするセッション Bean を実装していApplicationException
ます。これらの例外には、クラスがクライアントで使用できない例外が含まれている可能性があるチェーン スタック トレースがあります。何かのようなもの:
ここで、クライアントがクラスを持たない例外を受け取る可能性があります。これにより、次のことが発生する可能性があります。
サーバー側でスローされる可能性のあるすべての例外をクライアントに知らせたくはありませんが、スタック トレースを取得することは決して悪いことではありません。
これらの問題をどのように処理しますか? Interceptor
例外がクライアントに送り返されたときにスタック トレースを分離する実装はまずまずの解決策ですか? しかし、内部的にはスタック トレース全体に関心があるため、Interceptor
は 経由の呼び出しのみを処理する必要があります。RemoteInterface
java - 春。CustomDataSource getConnection メソッドでセッション Bean にアクセスする
DataSource getConnection でセッション スコープの Bean にアクセスする方法を知っている人はいますか?
クライアントごとに個別のデータベース スキーマ (マルチテナンシー) を実装することにしました。この非常に有望な記事を見つけました。Spring と PostgreSQL を使用したマルチテナンシー。
コメントでわかるように (そして私は他の人と同じように立ち往生しています) java.lang.IllegalStateException
、. 最後のコメントで、同じことがわかるこの質問も見つかりました。
著者 (gargii) の答えは次のとおりです。
エラー メッセージは、現在の状態を非常によく表していると思われます。考えてみてください。スレッドに焦点を当てます。元の要求を取得するスレッドは? どのスレッドがエラーで失敗しますか? RequestContextHolder クラスをデバッグしてみてください。これは、セッション マジックが実際に行われる場所です (ThreadLocal を使用)。
ええと... デバッグしようとしましたが、どこにも行きませんでした。問題を解決しようとしているページを何十も見ましたが、まだ解決策が見つかりません。
私はいつもこの例外を受け取ります (最後に完全なトレースをコピーしました):
要するに、これは私が持っているものです:
何よりも先に実行されるセキュリティ フィルタ (applicationContext-Security.xml):
フィルターは次のとおりです。
applicationContext.xml:
TenantContext には次のものがあります。
(これは RooEntity または RooActiveRecord ではないことに注意してください。@RooJavaBean および @RooToString を使用して、セッター、ゲッター、および toString を自動的に作成しています)
web.xml での必須の構成では、次のようになります。
そして、applicationContext.xml:
もあります:
このクラスは、applicationContext.xml で構成されます。
「TenantAwareDataSource」に表示されたコードから削除すると
@Autowired
、例外は発生しませんが、実際には機能しません。ハハハ。もはやセッション Bean ではないため、tenantContext は常に null です。
ところで。このアプリケーションは、次のバージョン (pom.xml) を使用して作成されました。
最後に、完全な例外は次のとおりです。