Не удается закрыть () карту в ChronicleMap

Согласно документации, рекомендуется закрыть https://github.com/OpenHFT/Chronicle-Map/blob/master/docs/CM_Tutorial.adoc#close-chroniclemap

Не могу почему-то:

Map<String, String> lexicalizationGraph = ChronicleMap
                .of(String.class, String.class)
                .name("lexicalizations-chronicle-map")
                .constantKeySizeBySample("bn:14271053n")
                .averageValue("average size of value")
                .entries(1_000_000_000L)
                .createPersistedTo(file);

а потом позже:

lexicalizationGraph.close();

Это дает мне следующую ошибку:

symbol:   method close()
  location: variable lexicalizationGraph of type java.util.Map<java.lang.String,java.lang.String>

Как закрыть?


person S.D    schedule 17.01.2020    source источник
comment
Какой тип ошибки?   -  person Pablo    schedule 17.01.2020


Ответы (1)


Метод close определен в ChronicleMap, а не Map. Чтобы получить к нему доступ, вы должны определить переменную как ChronicleMap (или явно указать ее, если хотите close(), но не делайте этого):

ChronicleMap<String, String> lexicalizationGraph = ChronicleMap 
                .of(String.class, String.class)
                .name("lexicalizations-chronicle-map")
                .constantKeySizeBySample("bn:14271053n")
                .averageValue("average size of value")
                .entries(1_000_000_000L)
                .createPersistedTo(file);
person Mureinik    schedule 17.01.2020