我正在尝试实现一个公开 API 以获取数据库中项目的 RSS 提要的应用程序。我正在使用罗马来构建 SyndFeed。
这是我正在使用的代码片段。也复制到这里方便参考
SyndFeed feed = getFeed(req);
String feedType = req.getParameter(FEED_TYPE);
feedType = (feedType!=null) ? feedType : _defaultFeedType;
feed.setFeedType(feedType);
//..... Loop to add SyndEntry objects to SyndFeed
res.setContentType(MIME_TYPE);
SyndFeedOutput output = new SyndFeedOutput();
output.output(feed,res.getWriter());
这对于数据库中的有限项目非常有效。但由于 SyndFeed 对象在内存中维护所有条目,它显示大量记录(例如 100,0000 条)的内存问题。
所以我的问题是,有没有一个叫做流式 RSS 的概念?有什么方法可以在遍历列表时开始将 SyndEntry 对象写入输出流?
希望我的问题很清楚。任何帮助表示赞赏。