正在研究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>
答案 0 :(得分:1)
如果将启动加载到1的唯一设置使您的应用程序需要很长时间才能加载,则应该意味着初始化代码需要花费时间。
当你谈到一个调度servlet时,我会请客人说你可能在调度init逻辑中有阻塞逻辑。
init调用应该只设置servlet并且应该尽快返回以改善应用程序启动时间。您需要管理自己的调度线程,而不是将init调用线程用于初始化之外的其他事情。