我有一個函數,我想在tomcat啓動併成功加載所有屬性後立即執行。我不想使用ServletContextListener,因爲這需要在Tomcat啓動之前啓動該函數。有人可以建議如何去解決這個問題嗎?啓動事件後的Tomcat彈簧
3
A
回答
6
ServletContextListener.contextInitialized(..)
是在給定應用程序的所有servlet和篩選器已初始化後調用的方法。
- 如果有多個
ServletContextListener
S,它們中的一些其他的(邏輯) - 如果有多個應用程序(因此多重執行緒)他們中的一些人之前開始之前調用。
更新我現在假設你的設置,雖然你沒有分享:
- 你通過一個傾聽者開始彈簧(而不是與一個servlet)
- 配置中冬眠春天
在這種情況下,你有兩個選擇:
- 定義
ServletContextListener
一個在web.xml
春季,從而保證它會被調用後 - 使用spring's lifecycle processor
0
您可以創建一個啓動的servlet,然後添加到結束後的web.xml中:
<servlet>
<servlet-name>StartupServlet</servlet-name>
<servlet-class>com.your.package.MyStartupServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
public class MyStartupServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
try {
// Startup code here
} catch (Exception e){
// Log exception
}
}
public java.lang.String getServletInfo() {
return "StartupServlet";
}
}
0
我覺得JMX Tomcat的支持能滿足您的要求,甚至沒有ServletContextListener
是DEPLOYE d在容器中。
相關問題
- 1. 啓動後彈簧啓動有問題
- 2. 不能啓動tomcat與Linux上的彈簧啓動
- 3. eclipseLink事務問題的彈簧啓動
- 4. 無法在彈簧啓動時啓動嵌入式Tomcat
- 5. 基於某些事件啓動彈簧調度事件
- 6. 帶彈簧啓動裝置的彈簧啓動裝置1.5.4
- 7. IndexOutOfBoundsException彈簧批量和彈簧啓動
- 8. 彈簧啓動和彈簧安全4.0
- 9. 彈簧啓動彈簧安全
- 10. Thymeleaf彈簧啓動後列表
- 11. 與彈簧集成啓動競賽條件彈簧批次
- 12. 如何設置會話超時彈簧啓動tomcat的嵌入
- 13. 點燃和彈簧啓動
- 14. Swing UI彈簧啓動
- 15. Reactjs彈簧啓動安全
- 16. ObjectDB與彈簧啓動
- 17. Glassfish:彈簧啓動錯誤
- 18. Config彈簧啓動項目
- 19. 休眠彈簧啓動
- 20. 使用maven-彈簧啓動插件
- 21. Facebook帳戶套件+ React.js +彈簧啓動
- 22. 在服務器上啓動後彈簧啓動停止
- 23. 彈簧+ JPA + DAO + Tomcat的
- 24. 部署彈簧啓動mvc到遠程tomcat 7
- 25. Deply在現有Tomcat服務器彈簧啓動應用
- 26. 彈簧重新加載屬性,無需重新啓動TOMCAT
- 27. 無法更改使用彈簧啓動embebed-tomcat默認端口
- 28. 彈簧引導啓動與彈簧引導起動XXX
- 29. 用於獨立彈簧應用的彈簧啓動執行器
- 30. 用於獨立彈簧啓動應用的彈簧執行器
在* tomcat啓動之前,如何調用`ServletContextListener`,這沒有任何意義。它在servlet上下文開始時調用。 – skaffman 2011-01-20 13:13:17
我想我的意思是說,該功能將啓動之前啓動完成。 ServletContextListener不會等到tomcat完成引導,並且我的函數將在bootsrap的原因上執行。 – Bitmap 2011-01-20 13:20:19