我正试图在开发环境中提高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