【问题标题】:Jetty start-up time improvement码头启动时间改善
【发布时间】:2013-05-16 18:00:49
【问题描述】:

我正在使用 apache CXF 从 wsdls (aprox 50) 生成 java 源类,这些类加载在码头服务器中。 Jetty (v.7.4.5) 在另一个 java 应用程序中使用 org.eclipse.jetty.server.Server->start() 以编程方式启动。

Jetty 服务器在不包含这些类时,启动速度非常快(不到 3 秒),但是当包含服务的 war 包时,在 windows 操作系统中需要超过 40 秒。在 Solaris 中问题更严重,大约需要 3 分钟。

加载期间的服务实现者未初始化,它们不需要任何类型的资源,它们不应成为延迟的原因。 .war 文件中不包含其他 jar 文件,因为它们已经从启动码头的应用程序中预加载。然而 web.xml 使用 web-app metadata-complete="true" 标志。

我们使用spring配置,相关的spring bean都是懒初始化的。

我已经检查了以下案例,但它们都与上述问题无关。

Slow initialization of apache cxf client http://cxf.547215.n5.nabble.com/Slow-Init-Time-td563933.html

此外,我尝试加载一半的服务,加载时间在 Windows 中约为 25 秒,而在 Solaris 中则保持在 2 分钟左右。

我想请教解决方法,是什么导致了延迟,以便将初始化时间减少到最低限度。更具体地说:

1) 你认为为什么存在这种延迟(尤其是在 Solaris 中)。 2) 如何获取 Jetty 的 JVM 内存和 CPU 配置? 有没有办法通过Jetty.xml配置文件修改它们?

提前感谢您的任何想法,我们将不胜感激, 卡尔。

【问题讨论】:

    标签: web-services spring jetty cxf


    【解决方案1】:

    仍然不确定为什么两个操作系统之间存在差异。虽然应用 jvm 参数 -Dcom.sun.xml.bind.v2.runtime.JAXBContextImpl.fastBoot=true 使码头启动速度提高一倍

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 2017-06-09
      相关资源
      最近更新 更多