使用Java RS编写和读取本地文件

时间:2017-04-30 21:41:29

标签: java jersey glassfish data-persistence java-ws

我编写了一个小型Web应用程序,允许客户端使用intellij中的glassfish服务器POST值,然后获取这些值的总和。我希望总和在服务重启期间持续存在。目前,使用Singleton资源跟踪总和,以便可以与几个不同的类共享。有没有办法可以在本地目录中编写和读取文件?类似的东西:

src:
     Singleton
     Rest of classes
res:
     PersistentDataFile

1 个答案:

答案 0 :(得分:0)

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

现在有2个解决方案 -

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

2)推荐方法 - 为了处理此类情况,建议在database中存储此类数据。在这种方法中,您还需要处理多个thread的数据修改。但是,通过编写适当的SQL查询可以轻松处理这种情况,通过该查询可以在单个query中完成读写(并非总是可行),或者维护一些version列或{{ 1}}数据库中的列。