0
当阅读有关Java的状态和无状态bean的文件,我有点明白,但有这种一般的情况下,使我困惑:需要澄清的Java状态bean
- 我有一个Web服务,它需要在内存中数据来处理请求,并且这些数据通过Web服务请求添加到内存中,而不是从数据库加载。为了简单起见,请考虑Web服务提供处理学生数据的方法,但首先,需要将班级中所有学生的数据放入内存中,假设数据只是暂时的,把它们从任何数据库中加载并加载。
- 假设第一步我们有3个客户端调用Web服务来将许多学生的数据添加到Web服务中。
- 第二步,每个客户调用一个web服务方法,int getRank(student)表示,这个方法的实现只是循环所有学生的数据,并根据他在特定主题上的标记检查输入学生的排名。就这样,一个整数将被返回,我们不需要存储任何客户服务相关的东西,所以我想我们不需要一个有状态的bean。然而,由于在每次将学生数据发送到服务器之后,这些数据需要留在内存中,似乎我们在这里有某种有状态的东西,但我不知道它叫什么,并且这是否使服务称为有状态的Web服务。
谢谢你的任何想法。
谢谢。 “缓存”听起来很复杂,如果我有一个全局数据收集对象,并且只是将项目添加到该列表中,该怎么办? – longbkit
缓存应该是“大部分读取”的 - 你比它更频繁地读取缓存。这听起来像你的多客户端加载操作是周期性的,没有写入。真的吗?如果没有,您只需在写操作和无效值期间进行同步,以确保没有人看到过时的数据。查看产品 - EhCache和Terracotta是开源的。连贯性不是。 http://www.terracotta.org/ – duffymo
如果数据量不是太大,性能是第一优先,那么我应该只使用全局数据集合而不是缓存? – longbkit