in java/e2e-v4/src/main/java/org/apache/rocketmq/utils/data/collect/DataCollectorManager.java [52:72]
public DataCollector fetchMapDataCollector(String key) {
String realKey = key;
if (!collectMap.containsKey(realKey)
|| collectMap.get(realKey) instanceof ListDataCollectorImpl) {
synchronized (lock) {
if (!collectMap.containsKey(realKey)
|| collectMap.get(realKey) instanceof ListDataCollectorImpl) {
DataCollector collect = null;
if (collectMap.containsKey(realKey)) {
DataCollector src = collectMap.get(realKey);
collect = new MapDataCollectorImpl(src.getAllData());
} else {
collect = new MapDataCollectorImpl();
}
collectMap.put(realKey, collect);
}
}
}
return collectMap.get(realKey);
}