我正在嘗試爲包含數千頁網頁的大型網站動態地生成站點地圖。wicket:如何從數據庫流式傳輸資源
是的,我已經考慮過離線生成站點地圖文件,並且只是靜態地提供站點地圖文件,我最終可能會這樣做。但我認爲這是一個普遍有用的問題:
如何從Wicket中的數據流流大型數據?
我按照Wicket SEO page的說明操作,並能夠使用DataProvider獲得動態站點地圖實現。但是它不會縮放 - 當它調用我的DataProvider的iterator()
方法時,它的內存耗盡,count
參數等於我返回的對象的總數,而不是以塊的形式迭代它們。
我認爲解決方案存在於WebResource/ResourceStreamingRequestTarget
的某處。但是這些類需要IResourceStream
,最終歸結爲提供了一個InputStream
實現,該實現以字節爲單位進行處理,而不是數據庫記錄。在這種情況下,我不知道如何實現length()
方法,因爲這需要提前訪問每條記錄來計算總長度。