static ExpiringMap2 loadSnippet_simpleCache_map = new ExpiringMap2(10000); static Lock loadSnippet_simpleCache_lock = lock(); // timeout for loadPage static int loadSnippet_simpleCache_timeout = 60000; static S loadSnippet_simpleCache(S id) { if (id == null) null; lock loadSnippet_simpleCache_lock; id = fsI(id); // get from cache S src = loadSnippet_simpleCache_map.get(id); if (src != null) ret src; // load & put in cache Int oldTimeout = setThreadLocal(loadPage_forcedTimeout_byThread, loadSnippet_simpleCache_timeout); try { src = loadSnippet(id); if (src != null) loadSnippet_simpleCache_map.put(id, src); ret src; } finally { loadPage_forcedTimeout_byThread.set(oldTimeout); } }