@Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        @ConditionalOnMissingBean(name = "authenticationThrottlingConfigurationContext")
        public ThrottledSubmissionHandlerConfigurationContext authenticationThrottlingConfigurationContext(
            final ConfigurableApplicationContext applicationContext,
            @Qualifier(AuditTrailExecutionPlan.BEAN_NAME)
            final AuditTrailExecutionPlan auditTrailExecutionPlan,
            final CasConfigurationProperties casProperties,
            @Qualifier(ThrottledRequestResponseHandler.BEAN_NAME)
            final ThrottledRequestResponseHandler throttledRequestResponseHandler,
            @Qualifier(ThrottledRequestExecutor.DEFAULT_BEAN_NAME)
            final ThrottledRequestExecutor throttledRequestExecutor,
            @Qualifier(ThrottledSubmissionsStore.BEAN_NAME)
            final ThrottledSubmissionsStore throttledSubmissionStore) {
            return ThrottledSubmissionHandlerConfigurationContext.builder()
                .casProperties(casProperties)
                .throttledSubmissionStore(throttledSubmissionStore)
                .auditTrailExecutionPlan(auditTrailExecutionPlan)
                .throttledRequestResponseHandler(throttledRequestResponseHandler)
                .throttledRequestExecutor(throttledRequestExecutor)
                .applicationContext(applicationContext)
                .build();
        }
This is {@link CasThrottlingAutoConfiguration}.

@author Misagh Moayyed
@since 5.0.0
support/cas-server-support-throttle/src/main/java/org/apereo/cas/config/CasThrottlingAutoConfiguration.java