我正在使用Apache CXF從wsdls(aprox 50)生成java源代碼類,這些類都在jetty服務器中加載。 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」標誌。
我們使用彈簧配置和相關的彈簧豆懶惰地初始化。
我已經檢查了以下情況,但都沒有與上述問題有關。
Slow initialization of apache cxf client http://cxf.547215.n5.nabble.com/Slow-Init-Time-td563933.html
此外,我已經試過裝一半的窗口服務和加載時間約25秒,而在Solaris中保持約2分鐘。
我想問一下排除故障的方法,是什麼導致了延遲,以便將初始化時間降到最低。更具體地說:
1)爲什麼你認爲這種延遲存在(特別是在Solaris中)。 2)如何獲得Jetty的JVM內存和CPU配置? 有沒有辦法通過Jetty.xml配置文件修改它們?
非常感謝您的任何想法, 卡爾。