@ConditionalOnMissingBean(name = "jpaTicketRegistryTransactionTemplate")
        @Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public TransactionOperations jpaTicketRegistryTransactionTemplate(
            final ConfigurableApplicationContext applicationContext,
            @Qualifier("ticketTransactionManager")
            final PlatformTransactionManager ticketTransactionManager,
            final CasConfigurationProperties casProperties) {
            return BeanSupplier.of(TransactionOperations.class)
                .when(CONDITION.given(applicationContext.getEnvironment()))
                .supply(() -> {
                    val template = new TransactionTemplate(ticketTransactionManager);
                    val jpa = casProperties.getTicket().getRegistry().getJpa();
                    template.setIsolationLevelName(jpa.getIsolationLevelName());
                    template.setPropagationBehaviorName(jpa.getPropagationBehaviorName());
                    return template;
                })
                .otherwiseProxy()
                .get();
        }
This this {@link CasJpaTicketRegistryAutoConfiguration}.

@author Misagh Moayyed
@since 5.0.0
support/cas-server-support-jpa-ticket-registry/src/main/java/org/apereo/cas/config/CasJpaTicketRegistryAutoConfiguration.java