2
我從scala動態運行groovy腳本,但調用Groovy腳本引擎的loadScriptByName方法時需要一些時間來編譯groovy腳本。如何緩存由Groovy腳本引擎編譯的類?
從我的應用程序加載和編譯的大多數groovy腳本自上次運行應用程序以來沒有更改,所以我猜它不是每次都需要編譯它們。
有沒有什麼方法可以存儲編譯好的groovy腳本,並在我的應用程序中運行它們,如果它們沒有任何更改?我知道groovy腳本引擎緩存編譯腳本如果您在同一個groovy腳本上調用loadScriptBynName方法兩次或更多,但當我關閉我的應用程序時,這些緩存已經消失。也許它是在內存上存儲緩存的腳本?
的GroovyScriptEngine存儲編譯存儲器腳本在名爲[scriptCache]變量(https://github.com/groovy/groovy-core/blob/master/src/main/groovy/ UTIL/GroovyScriptEngine.java#L99)。 – 2012-04-15 13:08:58