2

I have a question about wicket getApplication.

  1. What is the difference between getApplication() and getSession().getApplication?
  2. When you deploy the wicket application, is the wicketapplication object shared between all users who run it? Or is a separate instance created every time a user hits the page?
4

1 回答 1

9
  1. 在 Component.getApplication() 的情况下,Application 对象通过调用 Application.get() 通过 threadlocal 获取和返回。另一方面 getSession().getApplication() 首先检索会话对象,然后委托给同一个 Application.get() 静态调用,由于会话查找,这可能会更昂贵,因此调用 getSession() 不是最佳的. 您几乎可以使用 Application.get() 而不是这两个选项。

  2. Application 对象是一个单例,它甚至不是可序列化的,它在运行应用程序的同一 jvm 内的每个线程之间共享。

于 2013-03-14T22:39:18.973 回答