私は Grails ( 2.1.0 ) プロジェクトに取り組みましたが、完了後に Tomcat がメモリ不足であることがわかりました。あまり洗練されていない調査の結果、次のコード行がメモリリークを引き起こしていることがわかりました。
def servletContext = ServletContextHolder.servletContext
def config = new ConfigSlurper().parse(servletContext.getResource('/WEB-INF/config.groovy').text)
コード実行からこれらの 2 行を削除すると、プロジェクトは tomcat で安定したメモリ使用量で実行されます。ただし、これらの 2 行を元に戻すと、メモリ使用量が徐々に増加します。
これらの2行がメモリリークを引き起こしている理由がわかりませんか? 彼らの何がそんなに魔法なのですか?どうすれば修正できますか?WEB-INF フォルダー内のリソースにアクセスする必要があります。
ありがとうございました。