我正試圖在開發環境中提高Java Web應用程序的啓動性能。它使用jetty-maven-plugin和mvn jetty:run
用於啓動應用程序。如何在Jetty Maven插件中啓用CachingWebAppClassLoader?
我按照說明http://www.eclipse.org/jetty/documentation/9.3.x/jetty-classloading.html註冊這個新的CachingWebAppClassLoader
。
<Configure id="mywebapp" class="org.eclipse.jetty.webapp.WebAppContext">
...
<Set name="classLoader">
<New class="org.eclipse.jetty.webapp.CachingWebAppClassLoader">
<Arg><Ref refid="mywebapp"/></Arg>
</New>
</Set>
...
</Configure>
然而,org.eclipse.jetty.webapp.WebAppClassLoader.*
繼續jvisualvm CPU採樣露面,但不是CachingWebAppClassLoader
我覈實,我的類加載器的註冊是至少被提供在這種情況下ClassNotFoundException
被拋出一個無效的類名稱發現。我猜測我的類加載器的配置正在被使用,但沒有被使用或類似的東西。有任何想法嗎?
此外,如果您知道可用於提高性能的其他類加載器變體,請告訴我們。
'CachingWebAppClassLoader'實際上擴展了'WebAppClassLoader',所以我想你會在jvisualvm中看到'WebAppClassLoader。*',因爲它繼承了大量的實現。 –
感謝您的回覆。不知道我是否同意。如果這是真的,我們應該只看到'java.lang.Object'。如我錯了請糾正我。 – phani