REST リソース (Jersey アノテーション付きの Java クラス) のみを所有する単純な REST サービスを作成しています。この REST リソースが機能するには、いくつかの Java オブジェクトが必要です。これらの Java オブジェクトは数百 MB と非常に大きいため、RAM にロードするのに時間がかかります。したがって、これらのオブジェクトをこの REST クラスの静的メンバーとして追加しようとしています。ただし、REST サービスにリクエストを送信すると、常にNullPonterExceptionがスローされます。RESTリソース(クラス)がロードされる前にこれらの静的メンバーがインスタンス化されない理由を誰でも説明できますか? それとも他の理由でしょうか?
よろしくお願いします。
注: これらの静的メンバーは、依存関係 jar 内のクラスによって作成された一部のマップおよびリスト オブジェクトです。
編集:以下のInfoConstructorは、これらの静的オブジェクトの作成を担当する 1 つのユーティリティ クラスであると想定します。
私の 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();
}
}