use of org.apereo.cas.support.events.service.CasRegisteredServicesLoadedEvent in project cas by apereo.
the class DeleteResourceBasedRegisteredServiceWatcher method accept.
@Override
public void accept(final File file) {
LOGGER.debug("Service definition [{}] was deleted. Reloading cache...", file);
final RegisteredService service = serviceRegistryDao.getRegisteredServiceFromFile(file);
if (service != null) {
serviceRegistryDao.publishEvent(new CasRegisteredServicePreDeleteEvent(this, service));
serviceRegistryDao.removeRegisteredService(service);
LOGGER.debug("Successfully deleted service definition [{}]", service.getName());
serviceRegistryDao.publishEvent(new CasRegisteredServiceDeletedEvent(this, service));
} else {
LOGGER.warn("Unable to locate a matching service definition from file [{}]. Reloading cache...", file);
final List<RegisteredService> results = serviceRegistryDao.load();
serviceRegistryDao.publishEvent(new CasRegisteredServicesLoadedEvent(this, results));
}
}
use of org.apereo.cas.support.events.service.CasRegisteredServicesLoadedEvent in project cas by apereo.
the class AbstractServicesManager method load.
/**
* Load services that are provided by the DAO.
*/
@Scheduled(initialDelayString = "${cas.serviceRegistry.schedule.startDelay:20000}", fixedDelayString = "${cas.serviceRegistry.schedule.repeatInterval:60000}")
@Override
@PostConstruct
public void load() {
LOGGER.debug("Loading services from [{}]", this.serviceRegistry);
this.services = this.serviceRegistry.load().stream().collect(Collectors.toConcurrentMap(r -> {
LOGGER.debug("Adding registered service [{}]", r.getServiceId());
return r.getId();
}, Function.identity(), (r, s) -> s == null ? r : s));
loadInternal();
publishEvent(new CasRegisteredServicesLoadedEvent(this, getAllServices()));
evaluateExpiredServiceDefinitions();
LOGGER.info("Loaded [{}] service(s) from [{}].", this.services.size(), this.serviceRegistry.getName());
}
Aggregations