2

wicket getApplication について質問があります。

  1. getApplication() と getSession().getApplication の違いは何ですか?
  2. wicket アプリケーションをデプロイするとき、wicketapplication オブジェクトは、それを実行するすべてのユーザー間で共有されますか? それとも、ユーザーがページにアクセスするたびに別のインスタンスが作成されますか?
4

1 に答える 1

9
  1. Component.getApplication() の場合、Application オブジェクトは取得され、Application.get() を呼び出してスレッドローカル経由で返されます。一方、getSession().getApplication() は、最初にセッション オブジェクトを取得してから、同じ Application.get() 静的呼び出しに委譲します。これは、セッション ルックアップのためにコストが高くなる可能性があるため、getSession() の呼び出しは最適ではありません。 . 両方のオプションの代わりに Application.get() を使用できます。

  2. Application オブジェクトはシングルトンであり、シリアル化さえできず、アプリケーションを実行している同じ jvm 内の各スレッド間で共有されます。

于 2013-03-14T22:39:18.973 に答える