Deprecated as of 5.0 a TaskScheduler is not provided upfront, not until it is obvious that it is needed; call SockJsServiceRegistration.getTaskScheduler() to check and then SockJsServiceRegistration.setTaskScheduler(TaskScheduler) to set it before a call to SockJsServiceRegistration.createSockJsService()
/** * Provide the TaskScheduler to use for SockJS endpoints for which a task * scheduler has not been explicitly registered. This method must be called * prior to {@link #getHandlerMapping()}. */ protected void setTaskScheduler(TaskScheduler scheduler) { this.registrations.stream() .map(ServletWebSocketHandlerRegistration::getSockJsServiceRegistration) .filter(Objects::nonNull) .filter(r -> r.getTaskScheduler() == null) .forEach(registration -> registration.setTaskScheduler(scheduler)); }
/** * Whether there are any endpoint SockJS registrations without a TaskScheduler. * This method should be invoked just before {@link #getHandlerMapping()} to * allow for registrations to be made first. */ protected boolean requiresTaskScheduler() { return this.registrations.stream() .anyMatch(r -> r.getSockJsServiceRegistration() != null && r.getSockJsServiceRegistration().getTaskScheduler() == null); }
/** * Provide the TaskScheduler to use for SockJS endpoints for which a task * scheduler has not been explicitly registered. This method must be called * prior to {@link #getHandlerMapping()}. */ protected void setTaskScheduler(TaskScheduler scheduler) { this.registrations.stream() .map(ServletWebSocketHandlerRegistration::getSockJsServiceRegistration) .filter(Objects::nonNull) .filter(r -> r.getTaskScheduler() == null) .forEach(registration -> registration.setTaskScheduler(scheduler)); }
/** * Whether there are any endpoint SockJS registrations without a TaskScheduler. * This method should be invoked just before {@link #getHandlerMapping()} to * allow for registrations to be made first. */ protected boolean requiresTaskScheduler() { return this.registrations.stream() .anyMatch(r -> r.getSockJsServiceRegistration() != null && r.getSockJsServiceRegistration().getTaskScheduler() == null); }
/** * Whether there are any endpoint SockJS registrations without a TaskScheduler. * This method should be invoked just before {@link #getHandlerMapping()} to * allow for registrations to be made first. */ protected boolean requiresTaskScheduler() { return this.registrations.stream() .anyMatch(r -> r.getSockJsServiceRegistration() != null && r.getSockJsServiceRegistration().getTaskScheduler() == null); }
private void updateTaskScheduler(ServletWebSocketHandlerRegistration registration) { SockJsServiceRegistration sockJsRegistration = registration.getSockJsServiceRegistration(); if (sockJsRegistration != null && this.scheduler != null && sockJsRegistration.getTaskScheduler() == null) { sockJsRegistration.setTaskScheduler(this.scheduler); } }