2012-07-10 59 views
0

正在處理EJB 1.0應用程序。我想在jboss服務器啓動時啓動我的schedular servlet, <load-on-startup>1</load-on-startup>在我的web.xml。將該標籤添加到我的應用程序後,花了近45分鐘纔開始。我不知道那個問題。加載web.xml中的啓動標籤

這是我web.xml文件提前

感謝。

<web-app id="WebApp"> 
    <display-name></display-name> 
    <servlet> 
     <servlet-name>Main</servlet-name> 
     <display-name>Main</display-name> 
     <servlet-class>control.Main</servlet-class> 
    </servlet> 
    <servlet> 
     <servlet-name>TimerLoader</servlet-name> 
     <display-name>TimerLoader</display-name> 
     <servlet-class>timer.TimerLoader</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet> 
     <servlet-name>SchedulerMain</servlet-name> 
     <display-name>SchedulerMain</display-name> 
     <servlet-class>admin.SchedulerMain</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet> 
     <servlet-name>FileDownload</servlet-name> 
     <display-name>FileDownLoad</display-name> 
     <servlet-class>control.FileDownload</servlet-class> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>Main</servlet-name> 
     <url-pattern>/Main</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
     <servlet-name>TimerLoader</servlet-name> 
     <url-pattern>/TimerLoader</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
     <servlet-name>SchedulerMain</servlet-name> 
     <url-pattern>/SchedulerMain</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
     <servlet-name>FileDownload</servlet-name> 
     <url-pattern>/FileDownLoad</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
     <welcome-file>index.html</welcome-file> 
     <welcome-file>index.htm</welcome-file> 
     <welcome-file>index.jsp</welcome-file> 
     <welcome-file>default.html</welcome-file> 
     <welcome-file>default.htm</welcome-file> 
     <welcome-file>default.jsp</welcome-file> 
     <welcome-file>/Main</welcome-file> 
    </welcome-file-list> 
    <resource-ref> 
     <res-ref-name>jdbc/TEST5</res-ref-name> 
     <res-type>javax.sql.DataSource</res-type> 
     <res-auth>Container</res-auth> 
    </resource-ref> 
</web-app> 
+1

你的'web.xml'沒有什麼錯。將一些日誌記錄添加到我們的servlet初始化代碼中,並查看需要這麼久的日誌。 – npe 2012-07-10 14:42:52

+0

您正在使用EJB 1.0?你確定? – Tomer 2012-07-10 15:49:55

回答

1

如果負載上啓動1只設置讓您的應用程序需要很長的時間來加載,它應該意味着你的初始化代碼採取的時間。當你提到一個時間表servlet時,我會說你可能在時間表init邏輯中有阻塞邏輯。

init調用應該只設置servlet,並應儘快返回以提高應用程序啓動時間。您需要管理自己的調度線程,而不是使用init調用線程來進行初始化之外的其他事情。