title: How to set Tomcat's "reloadable" flag in a Spring Boot application?
body: <p>I am developing a web application in Spring Boot, and deploy it on a Tomcat 8.5 running on Windows. The issue I am facing is that Tomcat periodically produces very high CPU load due to Catalina checking if the app needs reloading. According to the <a href="https://tomcat.apache.org/tomcat-8.5-doc/config/loader.html" rel="nofollow noreferrer">Tomcat 8 documentation</a>, there is a <code>reloadable</code> flag that can be set to <code>false</code> for an application to disable this behaviour. Here's what the documentation says (emphasis is mine):</p>
  
  <blockquote>
    <p>Set to true if you want Catalina to monitor classes in
    /WEB-INF/classes/ and /WEB-INF/lib for changes, and automatically
    reload the web application if a change is detected. This feature is
    very useful during application development, but it requires
    significant runtime overhead and is not recommended for use on
    deployed production applications. You can use the Manager web
    application, however, to trigger reloads of deployed applications on
    demand.</p>
    
    <p><strong>NOTE - The value for this property will be inherited from the
    reloadable attribute you set on the surrounding Context component, and
    any value you explicitly set here will be replaced.</strong></p>
  </blockquote>
  
  <p>The question is: how do I set this particular <code>reloadable</code> flag to <code>false</code> in Spring Boot? Preferably without resorting to a manually created <code>META-INF/context.xml</code>, I am using annotations for configuration.</p>