All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.anysoft.rrm.RRModelManager Maven / Gradle / Ivy

There is a newer version: 1.6.17
Show newest version
package com.anysoft.rrm;

import java.util.Collection;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import com.anysoft.util.Properties;

/**
 * 管理器
 * @author duanyy
 * @version 1.6.4.14 [20151126 duanyy] 
* - 增加list方法.
* * @version 1.9.6.7 [20170802 duanyy]
* - 修正多实例下的并发问题
* * @version 1.6.12.32 [20190429]
* - 优化RRM模型 * */ public class RRModelManager { public static final String DEFAULT = "java:///com/anysoft/rrm/default.xml#" + RRModelManager.class.getName(); private Map> rrms = new ConcurrentHashMap>(); public RRModel getModel(String id){ return rrms.get(id); } public void addModel(RRData instance,Properties p){ String id = instance.id(); RRModel found = getModel(id); if (found == null){ synchronized (this) { found = getModel(id); if (found == null) { found = new RRModel(id); found.configure(p); rrms.put(id, found); } } } found.update(System.currentTimeMillis(), instance); } public void remove(String id){ rrms.remove(id); } public void clear(){ rrms.clear(); } public Collection> list(){ return rrms.values(); } protected static RRModelManager instance = null; public static RRModelManager get(){ if (instance == null){ synchronized(RRModelManager.class){ if (instance == null){ instance = new RRModelManager(); } } } return instance; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy