在Jersey资源中初始化数据库

时间:2014-01-09 22:50:15

标签: java jersey jax-rs

只初始化一次数据库的正确方法是什么? 见这个例子:

@Path("/")
public class Resource {
    private static final Map<Integer,String> data = new ConcurrentHashMap<Integer,String>()

    public Resource() {
        data.put(1, "1");
        data.put(2, "2");
        ...
    }
}

例如,如果我删除条目1,它将再次出现在下一个请求中。

1 个答案:

答案 0 :(得分:1)

您可以使用静态初始化:

@Path("/")
public class Resource
{
    private static final Map<Integer,String> data;
    static
    {
        myMap = new new ConcurrentHashMap<Integer,String>();
        myMap.put(1, "1");
        myMap.put(2, "2");
    }
}

静态块只在构造类时被调用一次。