ConcurrentHashMap getting emptied?



我在我的应用程序中有一个服务类,我在其中声明一个像这样的映射-

Map<String, Boolean> myMap = new ConcurrentHashMap<String, Boolean>([:])

我使用下面的函数来初始化映射。这个方法只在我们启动应用程序时调用一次(在播种期间)。-

void addValue(Boolean val) {
myMap.put("Key", val)
}

当我尝试打印地图时,一旦应用程序启动,它就可以正常工作并按预期打印值。但如果我在这个类中更改了一些内容,保存更改并刷新页面,则映射将被清空。它打印为[:]。它在我的应用程序中给出空指针异常。我不明白为什么会发生这种事。

你的map被清空的原因是你的类的变化导致服务被重新编译,并创建了一个新的实例。

你没有指定如何"播种";您的映射正在您的应用程序中发生,但是在创建您的服务的新实例时没有这样做。

最新更新