缓存服务器启动时发布请求的数据

时间:2013-03-04 01:11:20

标签: java rest caching post fileparsing

我有一个大型CSV文件,需要对其进行解析才能向REST API发出请求。邮件请求正文是一个json字符串。文件中的第一行有键,后面的行是值,例如

FirstName,LastName
约翰,母鹿 马克,吐温

所以帖子的主体就像{“FirstName”:“John”,“LastName”:“Doe”}

该文件将用于为开发人员创建测试数据。我将提供一个简单的页面,开发人员可以在其中输入帐号并点击提交。目标是解析此文件并向REST API服务发出POST请求。

我希望每次请求进入时都避免读取文件,而是在启动时缓存这些请求以避免每次读取/解析文件的麻烦,这样每次请求进入请求时只需要从缓存中检索。在启动时缓存这些POST请求是否正确的方式去了?

此外,可能需要添加更多CSV文件才能拥有各种数据。 什么是使这种可扩展的方法?

CSV文件的格式(密钥名称)将相同,因此可以以相同的方式解析每个文件。

2 个答案:

答案 0 :(得分:0)

它可以根据您的要求以多种方式实现,这是一个简单的例子。你可以保持像

这样的课程
class Contact{
  private String firstName;
  private String lastName;
}

并在你的另一个持有此值的类中

class RestEnterpriseService{

  List<Contact> contacts;

  @PostConstruct
  init(){
    contacts = readFromJSON("JSON URL");
  }
}

答案 1 :(得分:0)

这可以通过多种方式完成。

如果您使用的是Spring Framework或Java EE容器,则可以使用@AvinashSingh所述的PostConstruct样式解决方案。

如果您在某个Servlet容器中,可以使用Servlet的Listener或其他方式执行启动任务。

此外,您可以自己实施,有很多方法可以做到这一点。就像使用一个保护变量来检测你的contacts列表是否被缓存一样;或者使用像Singleton Design Pattern这样的技能。