Wicket:getApplication差异

时间:2013-03-14 20:54:49

标签: wicket

我对wicket getApplication有疑问。

  1. getApplication()和getSession()。getApplication?
  2. 之间有什么区别
  3. 部署wicket应用程序时,wicketapplication对象是否在运行它的所有用户之间共享?或者是每次用户点击页面时创建的单独实例?

1 个答案:

答案 0 :(得分:9)

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

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