@Override
public void run() {
try {
- final long startTime = System.currentTimeMillis();
- log.trace("Starting refresh data types cache job");
- if (hasDataTypesChanged()) {
- log.info("Detected changes in the data types, updating the data type cache.");
- refreshDataTypesCache();
- }
- log.trace("Finished refresh data types cache job. Finished in {}ms", (System.currentTimeMillis() - startTime));
+ refreshDataTypesCacheIfStale();
} catch (final Exception e) {
var errorMsg = "Failed to run refresh data types cache job";
log.error(EcompLoggerErrorCode.UNKNOWN_ERROR, ApplicationDataTypeCache.class.getName(), errorMsg, e);
readWriteLock.readLock().unlock();
}
}
+
+ public void refreshDataTypesCacheIfStale() {
+ final long startTime = System.currentTimeMillis();
+ log.trace("Starting refresh data types cache");
+ if (hasDataTypesChanged()) {
+ log.info("Detected changes in the data types, updating the data type cache.");
+ refreshDataTypesCache();
+ }
+ log.trace("Finished refresh data types cache. Finished in {}ms", (System.currentTimeMillis() - startTime));
+ }
private void refreshDataTypesCache() {
final Map<String, Map<String, DataTypeDefinition>> dataTypesDefinitionMap = findAllDataTypesEager();