我正在尝试为包含数千页网页的大型网站动态地生成站点地图。wicket:如何从数据库流式传输资源
是的,我已经考虑过离线生成站点地图文件,并且只是静态地提供站点地图文件,我最终可能会这样做。但我认为这是一个普遍有用的问题:
如何从Wicket中的数据流流大型数据?
我按照Wicket SEO page的说明操作,并能够使用DataProvider获得动态站点地图实现。但是它不会缩放 - 当它调用我的DataProvider的iterator()
方法时,它的内存耗尽,count
参数等于我返回的对象的总数,而不是以块的形式迭代它们。
我认为解决方案存在于WebResource/ResourceStreamingRequestTarget
的某处。但是这些类需要IResourceStream
,最终归结为提供了一个InputStream
实现,该实现以字节为单位进行处理,而不是数据库记录。在这种情况下,我不知道如何实现length()
方法,因为这需要提前访问每条记录来计算总长度。