1

grails 2 がシングルトン スコープのコントローラーをサポートするようになったことを理解しています。このようなコントローラーを使用する必要があり、リクエスト オブジェクト (およびその他の暗黙的オブジェクト) について質問があります。

grails のドキュメントでは常にリクエスト オブジェクトをインスタンス変数として参照していますが、シングルトン スコープのコントローラーでは、そのようなオブジェクトを使用するのは安全ではありません。シングルトンスコープのコントローラーで暗黙オブジェクトを処理するための推奨される方法は何ですか? リクエストオブジェクトをパラメーターとして受け入れるようにコントローラーのアクションシグネチャを変更しようとしました(標準のSpring MVCと同様)。これは機能するようです:

class MyController {
  static scope = "singleton"

  def list(request) {
   // do something  
  }
}

ただし、それがまだ存在していることにも気づいたので、パラメーターが単なる参照ではないthis.requestことをどのように確認できますか?requestthis.request

4

1 に答える 1

3

どちらの場合でも問題ありません。リクエスト オブジェクトは ThreadLocal 変数を使用してバインドされるため、すべての場合に同時にアクセスしても安全です。

于 2012-09-01T15:29:21.207 に答える