Thanks for sharing! This is so helpful!

On Sunday, October 5, 2025 at 7:32:58 AM UTC-7 steven gladwell wrote:

> Hi everyone,
>
> I wanted to share a solution to an issue that cost me several hours of 
> troubleshooting. If you're running CAS 7.1.x in standalone mode on an 
> external servlet container (like Tomcat) and wondering why automatic 
> configuration file watching isn't working, here's what I found.
>
> *The Problem:* The CAS documentation states that in standalone mode with 
> spring.cloud.config.enabled=false, CAS will automatically watch and monitor 
> configuration files for changes. Despite having the 
> cas-server-core-events-configuration dependency and running in standalone 
> mode, file changes to /etc/cas/config/cas.properties weren't triggering 
> automatic reloads. Manual refresh via /actuator/refresh worked fine, but 
> automatic file watching did nothing.
>
> *The Solution:* Add this property to your cas.properties:
> properties
> cas.events.core.track-configuration-modifications=true
>
> *How I Found It:* While digging through the CAS source code, I stumbled 
> on a test file (CasConfigurationEventListenerTests) that led me to 
> CasCoreConfigurationWatchAutoConfiguration. The critical piece is in the 
> bean definition:
> java
> @Bean public InitializingBean casConfigurationWatchService( final 
> ConfigurableApplicationContext applicationContext) { return BeanSupplier.
> of(InitializingBean.class) .when(BeanCondition.on(
> "cas.events.core.track-configuration-modifications").isTrue() .given
> (applicationContext.getEnvironment())) .supply(() -> new 
> CasConfigurationWatchService(applicationContext)) .otherwiseProxy() .get(); 
> }
>
> The CasConfigurationWatchService bean only gets created when 
> BeanCondition.on("cas.events.core.track-configuration-modifications").isTrue().
>  
> Without this property set to true, the file watcher never initializes.
>
> *The Documentation Gap:* This required property is not mentioned anywhere 
> in the "Configuration Management - Reloading Changes" documentation. The 
> feature is disabled by default, and there's no indication in the docs that 
> you need to explicitly enable it.
>
> *Verification:* After adding the property and restarting, I can now see 
> the automatic reload messages in the logs when I modify cas.properties. The 
> file watcher works exactly as described in the documentation - but only 
> with this undocumented flag enabled.
>
> *CAS Version:* 7.1.6
> *Deployment:* WAR to Tomcat 11
> *Profile:* standalone
>
> Hope this saves someone else the troubleshooting time. If anyone from the 
> CAS team is reading this, it would be great to see this property documented 
> in the Configuration Reloading section.
>

-- 
- Website: https://apereo.github.io/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
--- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/921c0600-6b87-4c87-a371-59ab567e0228n%40apereo.org.

Reply via email to