問題タブ [requestscope]

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 投票する
0 に答える
59 参照

primefaces - ログアウトをダブルクリックした後、「保存されたビューステートが見つかりませんでした...」

ログアウトボタンのあるアプリケーションがあります。ボタンをダブルクリックすると、次のようになりますViewExpiredException

私のログアウト方法には次の構造があります。

ここにはエラーが記録されていないため、ここではすべてが期待どおりに機能しているようです。

Bean はリクエストスコープです。

my からの潜在的に関連する構成web.xml:

理想的には、ユーザーをログアウト後にエラー ページではなくポータル ページにリダイレクトしたいと考えています。(userBean.getPortalUrl()上記の logout() メソッドを参照)

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

symfony - Symfony: 共通のリクエスト スコープ データを処理する方法

レガシー PHP プロジェクト (オブジェクト指向以前) を Symfony2 に移行しています。すべてのリクエストで、次のことを行う必要があります。

  • いくつかの動的データを計算します(現在の日付および/またはいくつかのリクエストパラメーターに応じて)
  • レンダリングされた応答でそのデータを (複数回!) 使用します。

単純なアプローチは次のようになります。

  • すべてのコントローラー メソッドの開始時に、何らかのグローバル ヘルパー関数を呼び出してデータを計算します。
  • すべてのコントローラー メソッドの最後で、データをパラメーターとして twig テンプレートに渡します。

退屈に聞こえます。多分それはより良いでしょう:

  • リクエストが受信されたときにデータを計算し、getter メソッドを介してデータへのアクセスを提供するリクエスト イベントのサブスクライバーを作成します。
  • そのサブスクライバー/サービスを でグローバル twig 変数として定義しますconfig.yml
  • twig テンプレートでは、必要に応じてそのサービスの getter メソッドを呼び出します。

それは実行可能ですか?特に、twig 変数/サービスとサブスクライバーは常に同一ですか? または、サービスは新しく作成されたインスタンスである可能性がありますか?

これはある種の悪用ですか?または、そのようなユースケースに対して公式に推奨される方法はありますか?

EDITデータは、すべての twig テンプレートだけでなく、一部のコントローラーでも必要です。

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

java - 春はどのようにして新しいリクエストまたはセッションについて知るようになりますか?

Web アプリケーションでは、取得するすべてのリクエストに対して、Spring が ints コンテナーに Bean の新しいインスタンスを作成することを知っています。Spring がリクエストをどのように区別し、それに応じて Bean の新しいインスタンスを作成するかを知りたいですか?

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

spring-boot - リクエストスコープのBeanを注入するには?

リクエスト スコープ Bean を他の Bean に注入したいと考えています。

この Bean を Bean に注入しようとしていJPageます。

私が試したコントローラーで:

私が得た:

[pl.mirage.components.AbstractUiComponent] のインスタンス化に失敗しました: 抽象クラスですか?; ネストされた例外は java.lang.InstantiationException です

別の試み。シングルトンであるため機能しません@RestController-リクエストスコープをシングルトンスコープに挿入することはできません:

私が得た:

org.springframework.beans.factory.UnsatisfiedDependencyException: 'greetingController' という名前の Bean の作成中にエラーが発生しました: フィールド 'jpage' で表現された依存関係が満たされていません。ネストされた例外は org.springframework.beans.factory.UnsatisfiedDependencyException: 'jpage' という名前の Bean の作成中にエラーが発生しました: フィールド 'ctx' で表現された依存関係が満たされていません。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'uiCtx' という名前の Bean の作成中にエラーが発生しました: スコープ 'request' は現在のスレッドに対してアクティブではありません。シングルトンから参照する場合は、この Bean のスコープ付きプロキシを定義することを検討してください。ネストされた例外は java.lang.IllegalStateException: No thread-bound request found: 実際の Web リクエスト以外のリクエスト属性を参照していますか? または、最初に受信したスレッドの外でリクエストを処理しますか? 実際に Web リクエスト内で操作していてもこのメッセージが表示される場合、コードはおそらく DispatcherServlet/DispatcherPortlet の外部で実行されています。この場合、RequestContextListener または RequestContextFilter を使用して現在のリクエストを公開します。

注釈を付けるか、UICtxまたはJPageとしてこれを修正することが可能@Scope(value = "[..]", proxyMode = ScopedProxyMode.TARGET_CLASS)です。

JPageがコントローラ フィールドとして挿入された場合にのみ機能します。JPageメソッドのパラメータとして注入された場合は機能しません。

リクエストスコープのBeanを注入するにはどうすればよいですか?

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

java - リクエストのワークフローを追跡するためのGuice Request Scope

1 つのリクエストで 6 つのステップを実行するユース ケースがあります。ビジネスは、プロセス内の各ステップの結果についての指標を取得することを要求しています。彼らは、Kinesis ストリームにログを記録するよう求めています。

アーキテクチャ的に、私は最善の解決策を探しています。Java ベースのサービスがあり、リクエストの進行に合わせてリクエスト スコープのオブジェクトを充実させたいと考えています。その後、エンドポイントが終了したら、ファイア アンド フォーゲット パターンを使用して非同期のキネシスへのサービス呼び出しを行います。このようにして、レポートはメインスレッドを遅らせません。

生の ThreadLocal または guice スコープの使用を検討していました。誰かが解決した同様の問題に遭遇しましたか? guice request スコープのコンポーネントを使用することを考えています。これにより、コードが大幅に簡素化されます。いくつかの意見を探しています。ありがとう!