@Scheduled( initialDelayString = "${cas.serviceRegistry.schedule.startDelay:20000}", fixedDelayString = "${cas.serviceRegistry.schedule.repeatInterval:60000}" ) @Override public void run() { servicesManager.load(); } }
/** * Handle services manager refresh event. * * @param event the event */ @EventListener public void handleRefreshEvent(final CasRegisteredServicesRefreshEvent event) { servicesManager.load(); }
/** * Handle and produce a list of services from registry. * * @return the web async task */ @ReadOperation(produces = {ActuatorMediaType.V2_JSON, "application/vnd.cas.services+yaml", MediaType.APPLICATION_JSON_VALUE}) public Collection<RegisteredService> handle() { return this.servicesManager.load(); }
private ServicesManager createJSONServiceManager(final GitUtil git) { val path = Paths.get(git.repoPath()); val serviceRegistryDAO = new JsonServiceRegistry(path, false, null, null, namingStrategy); val manager = (ServicesManager) (casProperties.getServiceRegistry().getManagementType() == ServiceRegistryProperties.ServiceManagementTypes.DOMAIN ? new DomainServicesManager(serviceRegistryDAO, null, new HashSet<>()) : new DefaultServicesManager(serviceRegistryDAO, null, new HashSet<>())); manager.load(); return manager; }
try (val zipfs = FileSystems.newFileSystem(URI.create("jar:" + file.toURI().toString()), env)) { val serializer = new DefaultRegisteredServiceJsonSerializer(); val services = this.servicesManager.load(); services.forEach(Unchecked.consumer(service -> { val fileName = String.format("%s-%s", service.getName(), service.getId());
/** * Init service registry if necessary. */ @SuppressFBWarnings("PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS") public void initServiceRegistryIfNecessary() { val size = this.serviceRegistry.size(); LOGGER.trace("Service registry contains [{}] service definition(s)", size); LOGGER.warn("Service registry [{}] will be auto-initialized from JSON service definitions. " + "This behavior is only useful for testing purposes and MAY NOT be appropriate for production. " + "Consider turning off this behavior via the setting [cas.serviceRegistry.initFromJson=false] " + "and explicitly register definitions in the services registry.", this.serviceRegistry.getName()); val servicesLoaded = this.jsonServiceRegistry.load(); LOGGER.debug("Loaded JSON services are [{}]", servicesLoaded.stream().map(RegisteredService::getName).collect(Collectors.joining(","))); servicesLoaded .forEach(r -> { if (!findExistingMatchForService(r)) { LOGGER.debug("Initializing service registry with the [{}] JSON service definition...", r.getName()); this.serviceRegistry.save(r); } }); this.servicesManager.load(); LOGGER.info("Service registry [{}] contains [{}] service definitions", this.serviceRegistry.getName(), this.servicesManager.count()); }
servicesManager.load();