java Jersey:在内存中保存数据
我正在使用Java和Jersey构建一个简单的RESTWeb服务。我想在内存中存储一些数据,这些数据可以在服务器联机期间访问。例如:
http://localhost:8080/register/<someusername>
将添加到可由访问的ArrayList/HashMap/etc
http://localhost:8080/list
其中将列出注册用户
我怎样才能做到这一点
我知道这不是一种存储数据的好方法,但就我的项目而言,我希望只在服务器在线时保存数据,并在重启/停止时完全重置数据
# 1 楼答案
您还可以将Jersey类设置为
@Singleton
,并添加ConcurrentHashMap
字段来存储数据# 2 楼答案
如果希望所有客户端的数据都相同,那么可以使用
@Context ServletContext ServletContext
然后,将该属性放在那里,并在每次调用时从该属性中提取
如果您有一些框架,比如spring,那么您可以使用它的工具获取/设置值