Java 如何限制ROME Fetcher中已下载(已解析)条目(项)的数量

Java 如何限制ROME Fetcher中已下载(已解析)条目(项)的数量,java,rss,feed,atom-feed,rome,Java,Rss,Feed,Atom Feed,Rome,我在JavaEEweb应用程序中使用ROME和ROME Fetcher获取提要(ATOM/RSS) 在某些情况下,我希望限制下载/解析的条目/项目的数量。我想避免这种情况:获取全部和十只需生成subList() 有什么想法或者有人能解决这个问题吗 谢谢 我看不到一种可行的方法,你可以只下载其中的一小部分——在一天结束时,你向服务器发送一个请求,服务器将决定向你发送什么 对我来说,这听起来有点像过早的优化。根据您正在构建的内容,如果您担心性能,那么最好执行缓存数据之类的操作 无论如何,我看不

我在
JavaEE
web应用程序中使用
ROME
ROME Fetcher
获取提要(
ATOM/RSS

在某些情况下,我希望限制下载/解析的条目/项目的数量。我想避免这种情况:获取全部和十只需生成
subList()

有什么想法或者有人能解决这个问题吗

谢谢


我看不到一种可行的方法,你可以只下载其中的一小部分——在一天结束时,你向服务器发送一个请求,服务器将决定向你发送什么

对我来说,这听起来有点像过早的优化。根据您正在构建的内容,如果您担心性能,那么最好执行缓存数据之类的操作


无论如何,我看不出你可以用ROME来实现这一点,但是如果你构建了自己的XML解析器,这是可以做到的。

我们使用了自己的解析器,但并不完美(支持所有版本的RSS/ATOM)。若用户点击内容中的UI,请求我们的后端从远程主机获取提要。内容所有者不希望显示所有提要项。我们的测试人员注意到,在获取整个提要期间,JVM内存显著增加,因此我们只希望获取UI请求的提要项的数量。目前,我们下载了所有内容,然后只返回了用户界面所需的数量,但这对性能不好-因为我们的web应用程序有很多点击率,想象一下许多用户只是单击链接在用户界面中显示RSS提要。您尝试过缓存数据吗?假设您只需要检查设置数量的RSS源,则可以在再次发送请求/处理数据之前,将数据保存在内存中x分钟。这并不难实现,我自己在为一个每次用户使用我们的服务时都会被点击的RSS提要工作时也使用了这种方法。我知道你在说什么,我们也使用浏览器缓存来实现这一点,但我更愿意在获取提要方面挖掘更多,并将其限制在那里。这只是我的想法…这可能比浏览器缓存有更多的区别。这将使您的服务器不再需要为任何用户多次处理它,而不仅仅是那些已经缓存它的用户。如果您有一点时间的话,制作您自己的RSS阅读器并与Atom一起工作应该不会太难。我自己做过,非常简单。创建自己的解析器需要时间,我可以做到,但这就是我使用Rome->time的原因。。我认为这是一个很好的图书馆