我编写了一个小型 Web 应用程序,允许客户端使用 intellij 中的 glassfish 服务器 POST 值然后获取这些值的总和。我希望总和在服务重新启动时保持不变。目前,总和正在使用单例资源进行跟踪,以便可以与几个不同的类共享。有没有办法可以在本地目录中写入和读取文件?就像是:
src:
Singleton
Rest of classes
res:
PersistentDataFile
我编写了一个小型 Web 应用程序,允许客户端使用 intellij 中的 glassfish 服务器 POST 值然后获取这些值的总和。我希望总和在服务重新启动时保持不变。目前,总和正在使用单例资源进行跟踪,以便可以与几个不同的类共享。有没有办法可以在本地目录中写入和读取文件?就像是:
src:
Singleton
Rest of classes
res:
PersistentDataFile
是的,您可以将数据写入本地文件,但不应在resources
目录中。因为,如果您在resources
目录中,它将成为您WAR
文件的一部分,稍后,如果您部署更新WAR
的文件,该文件将被覆盖。
现在有2个解决方案 -
1) 将数据存储在 Web 应用程序之外的文件中。但是,您需要处理multi-threading
并且您必须编写代码以避免文件的读/写多于 1thread
即多于 1 request
。
2)推荐的方法- 为了处理这种情况,database
推荐的方法是存储这些数据。在这种方法中,您还需要处理多个thread
. 但是,通过编写适当的查询可以轻松处理这种情况,SQL
通过该查询可以在单个query
(并非总是可能)中完成读取和写入,或者在数据库中维护某些version
列或列。last modified timestamp