ApplicationContext ctx = new ClassPathXmlApplicationContext ();
Spring попытается найти applicationContext.xml из CLASSPATH, если не удается найти xml-файл, будет выдана ошибка «BeanFactory not initialized or Уже закрыто». Вот почему вы перезапускаете кота, он работает просто отлично. Однако я не знаю реальной причины, по которой applicationContext.xml не находится в пути к классам во время горячего развертывания.
Если вы используете только одно приложение Grails в вашем tomcat, вы можете попробовать поместить applicationContext.xml в путь к классам Tomcat и снова попробовать выполнить горячее развертывание.