private void forcedClearCache() { synchronized (sharedLock) { cache.clear(); cacheClassNames.clear(); clearingCounter++; for (WeakReference<Object> regedMfREf : modelFactories) { Object regedMf = regedMfREf.get(); if (regedMf != null) { if (regedMf instanceof ClassBasedModelFactory) { ((ClassBasedModelFactory) regedMf).clearCache(); } else if (regedMf instanceof ModelCache) { ((ModelCache) regedMf).clearCache(); } else { throw new BugException(); } } } removeClearedModelFactoryReferences(); } }
enumModels.clearCache();
private void forcedClearCache() { synchronized (sharedLock) { cache.clear(); cacheClassNames.clear(); clearingCounter++; for (WeakReference<Object> regedMfREf : modelFactories) { Object regedMf = regedMfREf.get(); if (regedMf != null) { if (regedMf instanceof ClassBasedModelFactory) { ((ClassBasedModelFactory) regedMf).clearCache(); } else if (regedMf instanceof ModelCache) { ((ModelCache) regedMf).clearCache(); } else { throw new BugException(); } } } removeClearedModelFactoryReferences(); } }
private void forcedClearCache() { synchronized (sharedLock) { cache.clear(); cacheClassNames.clear(); clearingCounter++; for (WeakReference<Object> regedMfREf : modelFactories) { Object regedMf = regedMfREf.get(); if (regedMf != null) { if (regedMf instanceof ClassBasedModelFactory) { ((ClassBasedModelFactory) regedMf).clearCache(); } else if (regedMf instanceof ModelCache) { ((ModelCache) regedMf).clearCache(); } else { throw new BugException(); } } } removeClearedModelFactoryReferences(); } }
private void introspectClassInternal(Class clazz) { String className = clazz.getName(); if(cachedClassNames.contains(className)) { if(logger.isInfoEnabled()) { logger.info("Detected a reloaded class [" + className + "]. Clearing BeansWrapper caches."); } // Class reload detected, throw away caches classCache.clear(); cachedClassNames = new HashSet(); synchronized(this) { modelCache.clearCache(); } staticModels.clearCache(); if(enumModels != null) { enumModels.clearCache(); } } classCache.put(clazz, populateClassMap(clazz)); cachedClassNames.add(className); }
enumModels.clearCache();