public String getApplicationUrl(String locale) throws EtccException { CacheAdmin admin = CacheAdmin.getInstance(); String key = AppEnum.APP_URL.getValue() + locale.toUpperCase(); try { String appURL = (String) admin.getFromCache(key); if (appURL == null) { appURL = app.getApplicationUrl(locale); admin.putInCache(key, appURL); } return appURL; } catch (Throwable t) { admin.cancelUpdate(key); logger.error(t); throw new EtccException("Error running getApplicationUrl: " + t, t); } }