Java Session Like Object

时间:2010-03-31 16:41:54

标签: java session

我一直在开发一个项目,在这个项目中,我设计了我的代码,在指定的时间间隔后连续执行相同的工作。想要完成的工作有很多不同的周期。间隔很小,通常执行它们因此我使用线程。在那之前,一切都很清楚。

为了减少进程和信息事务,我想放置一个像对象一样的会话来保存给定的数据,并随时将它提供给任何线程。使用此对象,我计划不在每次从数据库查询相同的配置信息,但如果它存在于会话中,则将其查询并存储在会话中。

我不确定如何实现这种结构。

此致

2 个答案:

答案 0 :(得分:2)

你看过ThreadLocal吗?

答案 1 :(得分:1)

这取决于。有几种方法可以用Java保存和传递信息。

  1. 全域应用:声明static和/或将其加载到static {}
  2. Threadlocal:使用ThreadLocal<T>
  3. 对象:将数据放入您刚创建一次的包装器对象(javabeans?)中并作为c'tor /方法参数传递。
  4. 在您的情况下,我认为1或3适用。一个真正的“会话”通常是threadlocal,但是你的功能需求(“随时提供给任何线程”,“配置信息”)让我觉得你正在寻找一个应用程序范围的常量。