@Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        @DependsOn("inspektrAuditEntityManagerFactory")
        public AuditTrailManager jdbcAuditTrailManager(
            final ConfigurableApplicationContext applicationContext,
            @Qualifier("jpaAuditTrailEntityFactory")
            final JpaEntityFactory<AuditTrailEntity> jpaAuditTrailEntityFactory,
            @Qualifier("auditCleanupCriteria")
            final WhereClauseMatchCriteria auditCleanupCriteria,
            @Qualifier("inspektrAuditTransactionTemplate")
            final TransactionOperations inspektrAuditTransactionTemplate,
            @Qualifier("inspektrAuditTrailDataSource")
            final DataSource inspektrAuditTrailDataSource,
            final CasConfigurationProperties casProperties) {
            return BeanSupplier.of(AuditTrailManager.class)
                .when(CONDITION.given(applicationContext.getEnvironment()))
                .supply(() -> {
                    val manager = new JdbcAuditTrailManager(inspektrAuditTransactionTemplate,
                        new JdbcTemplate(inspektrAuditTrailDataSource), jpaAuditTrailEntityFactory);
                    manager.setCleanupCriteria(auditCleanupCriteria);
                    val jdbc = casProperties.getAudit().getJdbc();
                    manager.setAsynchronous(jdbc.isAsynchronous());
                    manager.setColumnLength(jdbc.getColumnLength());
                    manager.setTableName(getAuditTableNameFrom(jdbc));
                    FunctionUtils.doIfNotBlank(jdbc.getSelectSqlQueryTemplate(), manager::setSelectByDateSqlTemplate);
                    FunctionUtils.doIfNotBlank(jdbc.getDateFormatterPattern(), manager::setDateFormatterPattern);
                    FunctionUtils.doIfNotBlank(jdbc.getDateFormatterFunction(), manager::setDateFormatterFunction);
                    return manager;
                })
                .otherwiseProxy()
                .get();
        }
This is {@link CasJdbcAuditAutoConfiguration}.

@author Misagh Moayyed
@since 5.0.0
support/cas-server-support-audit-jdbc/src/main/java/org/apereo/cas/config/CasJdbcAuditAutoConfiguration.java