@Scheduled(initialDelay = 1000, fixedRate = 300000)
public void loadActiveEntitiesMetadata() {
try {
LOGGER.info("Upgrading entity metadata cache");
final EntitiesMetadataMessage entitiesMetadata = catalogService.getEntitiesMetadata();
final Map<String, EntityMetadataMessage> auxTokensEntityMetadataMap = new HashMap<String, EntityMetadataMessage>();
final Map<String, EntityMetadataMessage> auxIdEntitiesMetadataMap = new HashMap<String, EntityMetadataMessage>();
if (entitiesMetadata != null && !CollectionUtils.isEmpty(entitiesMetadata.getEntitiesMetadata())) {
for (final EntityMetadataMessage entityMetadata : entitiesMetadata.getEntitiesMetadata()) {
auxTokensEntityMetadataMap.put(entityMetadata.getToken(), entityMetadata);
auxIdEntitiesMetadataMap.put(entityMetadata.getEntity(), entityMetadata);
}
}
replaceActiveEntitiesMetadata(auxTokensEntityMetadataMap, auxIdEntitiesMetadataMap);
LOGGER.info("Process finished successfully");
} catch (final CatalogAccessException e) {
LOGGER.warn("Error while processing sync request with Catalog to get the entity metadata list", e);
}
}