因爲我們知道struts攔截器執行和等待將照顧長時間運行的過程,通過沒有得到請求超時並摧毀它發送等待,最後我希望實現相同的長期運行過程在春季和冬眠。春季hibernate如何實現長時間運行的過程?
1
A
回答
1
我建議你使用Spring的DeferredResult。這是一個未來的實現,它使用http long poling技術。
所以let's說,你會做一個請求,服務器就會返回你的deferredResult,然後你的請求將保持打開狀態,直到內部處理(休眠)完成他的任務。超時時間在構造函數中是可配置的。
這裏另一個例子http://www.javacodegeeks.com/2013/03/deferredresult-asynchronous-processing-in-spring-mvc.html
0
爲了保持會話在請求的整個生命週期中保持開放,我們將它與視圖綁定。這是通過使用Spring的OpenSessionInViewInterceptor或OpenSessionInViewFilter或OpenSessionInViewFilter
在視圖過濾器中的打開會話將確保Hibernate會話始終保持打開直到視圖的呈現。
或者
可以在後端使用任務隊列爲長時間運行的過程是怎樣的this。
工作隊列(又名:任務隊列)是爲了避免立即執行資源密集型任務,必須等待它完成。相反,這些任務計劃在稍後完成。任務被封裝爲消息併發送到隊列。在後臺運行的工作進程將彈出任務並最終執行作業。當你運行許多工人時,任務將在他們之間共享。
這個概念在web應用程序中特別有用,在短的HTTP請求窗口中無法處理複雜的任務。
相關問題
- 1. WCF長時間運行的過程
- 2. 睡眠長時間運行的過程
- 3. 如何在asp.net中實現長時間運行的任務
- 4. 如何在iOS中實現長時間運行的任務?
- 5. 通過Python運行一個長時間的運行過程Popen
- 6. 長時間運行過程vb.net
- 7. Python長時間運行過程
- 8. MvvmCross長時間運行過程
- 9. 如何讓長時間運行的@Scheduled spring方法,hibernate工作?
- 10. 長時間運行Magento的過程中使用長時間運行Magento的過程,以減輕開銷
- 11. 長時間運行程序
- 12. 如何在春季使用AutoWire時處理新的實現?
- 13. 實時分析mysql - 發現長時間運行的查詢
- 14. 如何使用servlet運行長時間運行的進程
- 15. 如何在長時間運行的進程上運行coverage.py?
- 16. 如何保持長時間運行的Go程序,運行?
- 17. ASP.NET長時間運行SQL Server過程 - 如何處理?消息?
- 18. 春季和休眠運行時錯誤
- 19. ReactiveCrudRepository在春季使用Hibernate
- 20. 春季啓動應用程序時,掛在命令行運行
- 21. 如何在運行時選擇bean實現在春天
- 22. 春季啓動@Autowired在運行時創建實例
- 23. 在後臺實現長時間運行的任務IOS
- 24. 在手機上實現長時間運行的後臺任務
- 25. 爲長時間運行的方法實現WPF進度條
- 26. 如何在春季的特定時間後執行功能?
- 27. 如何在Laravel中實現對長時間運行的導入的跟蹤
- 28. 如何通過Rest api實現一個長時間運行的進程,在Rust中可以使用?
- 29. 春季調度任務:在運行時間
- 30. 如何實現在j2ee中長時間運行的分佈式事務
Struts只是簡化了web應用程序的開發。你在這裏尋找的是如何開始一個異步任務,這對於struts而言是完全不相關的**。我建議你看看[本指南](http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html)。 –