2012-03-09 35 views
0

我的web服务中有方法,每次调用它时都会将相同的mySQL数据加载到数组中。这是一个相当大量的数据,如果在服务启动时可以完成一次,而不是每一次请求,效率会更高。如何在Java REST Web Service启动时创建数组

我周围搜索,但看不到任何如何实现这个目标的例子,是否有可能,如果是这样 - 如何?

谢谢!

回答

0

你应该做它像

private static List<Items> data; 

public static List<Items> getData() { 
    if(data==null) { 
     //get from db 
    } 
    return data; 
} 

这样你就只能有一个访问数据库来填充数据。另外,因为使用的是新泽西州注册我曾试图在道路资源,但“数据”一直是空的类

<init-param> 
     <param-name>javax.ws.rs.Application</param-name> 
     <param-value>com.foo.MyApplication</param-value> 
    </init-param> 
+0

时,你可以扩展Application和填充你数据的方式,它会重新加载 - 有没有特定的地方做到这一点? – user1178196 2012-03-09 17:02:10

+0

啊,对不起,脑海里有 - 我实际上是在用Jackson而不是Jersey。第二个选项是否仍然适用? – user1178196 2012-03-09 17:08:34

+0

一切都好。再试一次你的第一个解决方案,这次它有效 - 我一定是第一次做错了。 – user1178196 2012-03-09 17:13:26