0

我正在创建一个简单的 REST 服务,它只拥有 REST 资源(带有 Jersey 注释的 java 类)。此 REST 资源需要多个 Java 对象才能工作。这些 Java 对象非常大,只有几百 MB,因此将它们加载到 RAM 中很慢。因此,我试图将这些对象添加为这个 REST 类的静态成员。但是,当我向 REST 服务发送请求时,它总是会抛出NullPonterException。谁能解释为什么在加载 REST 资源(类)之前没有实例化这些静态成员?还是其他一些原因?

提前谢谢你们。

注意:这些静态成员只是一些 Maps 和 Lists 对象,由依赖 jar 中的类创建。

编辑:假设下面的InfoConstructor是一个负责创建这些静态对象的实用程序类。

我的 REST 资源类的代码如下:

@Path("test")
public class TestResource {
    public static Map<String, Integer> vocMap = InfoConstructor.getVocMap();

    @Get
    @Produce(Media.TEXT_HTML)
    public String testGet() {
         return vocMap.hashCode();
    }
}
4

1 回答 1

1

根据评论,听起来静态资源已正确初始化。更多的是解决类路径资源的问题。查看jar 中的 Classpath 资源

于 2012-08-12T01:57:03.463 回答