在运行时将数据保存在服务器中的首选方法是什么

时间:2013-05-06 21:08:31

标签: java performance memory jpa static-members

我有一个Web应用程序,其UI的请求由Struts Action类处理。

假设UI在单个请求中发送30个变量的数据。 action类处理请求并将30个变量存储在java对象中。

我需要将数据持久化到请求范围之外(即使服务器将响应发送回客户端以获取该请求,数据也必须保留),因为我有另一个依赖于此持久数据的servlet(那些30变量通过UI更新。

持久性的方法:

  1. 将其存储在DB
  2. 使用JPA
  3. 使用静态变量。
  4. 使用MQ
  5. 您更喜欢上述哪一项?我猜第三种选择并不好。

    添加了点以获得更好的清晰度:

    • UI发送请求(保存大约30个String变量数据) 每1分钟一次。每隔一分钟,持久数据必须是 修改。

    • 另一个依赖于这个持久化数据的servlet是没办法的 与请求相关,因此我认为会话上下文不会 分享。

2 个答案:

答案 0 :(得分:2)

你能使用HttpSession吗?您可以将数据放在会话中,这会将其保存在服务器端,然后它会持久存储在请求中并可供其他servlet使用。

答案 1 :(得分:1)

信息不足。这实际上取决于许多不同的因素(应用程序做了什么,有多少数据等),你还没有详细说明。在某种情况下,所有这些方法都可能是正确的。即使是静态变量选项也可能是正确的。