0

我编写了一个小型 Web 应用程序,允许客户端使用 intellij 中的 glassfish 服务器 POST 值然后获取这些值的总和。我希望总和在服务重新启动时保持不变。目前,总和正在使用单例资源进行跟踪,以便可以与几个不同的类共享。有没有办法可以在本地目录中写入和读取文件?就像是:

src:
     Singleton
     Rest of classes
res:
     PersistentDataFile
4

1 回答 1

0

是的,您可以将数据写入本地文件,但不应在resources目录中。因为,如果您在resources目录中,它将成为您WAR文件的一部分,稍后,如果您部署更新WAR的文件,该文件将被覆盖。

现在有2个解决方案 -

1) 将数据存储在 Web 应用程序之外的文件中。但是,您需要处理multi-threading并且您必须编写代码以避免文件的读/写多于 1thread即多于 1 request

2)推荐的方法- 为了处理这种情况,database推荐的方法是存储这些数据。在这种方法中,您还需要处理多个thread. 但是,通过编写适当的查询可以轻松处理这种情况,SQL通过该查询可以在单个query(并非总是可能)中完成读取和写入,或者在数据库中维护某些version列或列。last modified timestamp

于 2017-05-01T01:22:28.340 回答