在web.xml中加载启动标记

时间:2012-07-10 14:33:27

标签: java tomcat jboss

正在研究EJB 1.0 Application。我想在jboss服务器启动时启动我的调度servlet。          我<load-on-startup>1</load-on-startup>中的web.xml。将此标签添加到我的应用程序后需要将近45分钟才能启动。我不知道那个问题。

这是我的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 个答案:

答案 0 :(得分:1)

如果将启动加载到1的唯一设置使您的应用程序需要很长时间才能加载,则应该意味着初始化代码需要花费时间。

当你谈到一个调度servlet时,我会请客人说你可能在调度init逻辑中有阻塞逻辑。

init调用应该只设置servlet并且应该尽快返回以改善应用程序启动时间。您需要管理自己的调度线程,而不是将init调用线程用于初始化之外的其他事情。