我在Struts2中做了一個程序,它解析了一些URL列表中的一些XML並將Bean列表存儲在HttpSession中。這是一個漫長的過程,因爲它必須從url下載xml,解析它並創建bean。我想以這樣的方式設計這個任務,以便當它從客戶端獲得請求時,它將開始解析並將結果存儲在會話中。當它完成解析一些xml時,它會通知來自java的頁面或Struts,以便它能夠在完成解析剩餘的URL之前顯示一些結果。我已經在不同的線程中使用這個解析。但它有風險,因爲web爲每個不同的客戶端請求管理不同的線程池,並且存在內存泄漏的可能性。我已經看過execAndWait ,但在解析過程中不可能顯示一些結果bean。任何人都可以告訴更好的方式或更好的解決方案。在完成之前在Struts2中顯示立即搜索的結果
0
A
回答
0
我解決了我的問題。首先創建一個攔截器項目並擴展ExecuteAndWaitInterceptor.java而不是Interceptor接口並重寫doIntercept方法。只是我們必須在doIntercept方法中使用getNewBackgroundProcess()。這個方法主要是創建一個後臺線程。如果你控制這個攔截器,那麼我們不需要等待不確定的延遲。如果我們控制這個機制,那麼當一個bean準備好在長時間處理完成之前顯示時,我們可以調用中間頁面。所有的控制將在我手中,當它應該被稱爲。而且我們不需要使用延遲和間隔延遲,因爲在這個延遲之後,任何bean都可能沒有準備好顯示。
相關問題
- 1. jQuery UI自動完成在搜索之前顯示結果
- 2. SQL:在結果顯示搜索參數,即使結果爲空
- 3. 在PyCharm中顯示之前的搜索
- 4. 如何在顯示搜索結果的頁面之前顯示加載頁面?
- 5. 在DataGridView中只顯示搜索結果
- 6. 在jQGrid中顯示搜索結果
- 7. jQuery UI的自動完成顯示 「無搜索結果」
- 8. 顯示在自動完成搜索
- 9. 想顯示在jtextarea的搜索結果
- 10. 在Rails的基本搜索結果中顯示搜索查詢
- 11. 搜索結果不顯示在WordPress中的多個詞搜索
- 12. 搜索結果自動完成不顯示iOS目標C
- 13. 即時搜索在使用空間時不顯示結果
- 14. 在另一頁顯示搜索結果
- 15. 在新頁面顯示搜索結果
- 16. 在兩行顯示搜索結果
- 17. 顯示搜索結果API
- 18. 搜索和顯示結果
- 19. 搜索結果不顯示
- 20. 顯示搜索結果
- 21. 顯示搜索結果
- 22. 顯示搜索結果
- 23. 顯示搜索結果
- 24. 搜索結果顯示
- 25. Magento產品不會在搜索中顯示。搜索結果
- 26. 如何在Outlook搜索中顯示搜索結果
- 27. ASP.NET MVC - 在搜索結果中突出顯示搜索字詞
- 28. 在搜索欄中顯示Google搜索結果WebView
- 29. 搜索結果(顯示更多結果)
- 30. Breadcrumb與之前的搜索結果[RoR]
從XML創建bean ...你確定它是*長* –
是的,它很長,但不是太多。從網站下載後,有時需要三分鐘時間才能解析15個大型XML。是否有任何方式可以通過循環或其他方式管理解析機制,以便在解析一個xml後,可以在不中斷所有解析過程的情況下顯示即時結果。 –