ROME更新RSS类 有什么可以再优化的地方 发现更新还是有点慢的
package org.zjut.romefunction;/** * this class is update the news; * @author xuhaimin * */import java.util.Date;import java.util.Iterator;import org.zjut.DAOFactory.DAOFactory;import org.zjut.PO.Feed;import org.zjut.PO.Item;import org.zjut.PO.Rss;import com.sun.syndication.feed.synd.SyndEntry;import com.sun.syndication.feed.synd.SyndFeed;public class UpdateItems {public void perform(Rss rss) {System.out.println(rss.getId());SyndFeed syndfeed = new ParseRss().getSyndFeed(rss);String title = syndfeed.getTitle();Feed feed = DAOFactory.getIntance().createFeedDAO().getFeedByTitle(title);Date maxdate = getMaxDate(title);Iterator intor = syndfeed.getEntries().iterator();while (intor.hasNext()) {SyndEntry synden = (SyndEntry) intor.next();Date date = synden.getPublishedDate();if (date == null)continue;if (date.after(maxdate)) {System.err.println("当前数据库中" + feed.getTitle() + " 最新时间是"+ maxdate);System.err.println("当前rss 最新时间是" + date);/** * 如果是更新新闻 就入库 */Item item = new Item();item.setTitle(synden.getTitle());String description=synden.getDescription().getValue().replaceAll("<[.[^<]]*>","");if(description==null||description.equals(""))item.setDescription("对不起,没有该新闻的描述");item.setDescription(description);item.setAuthor(synden.getAuthor());item.setSource("");item.setPubDate(synden.getPublishedDate());item.setLink(synden.getLink());item.setFeed(feed);System.err.println("@ 服务器正在更新" + feed.getTitle()+ "的内容..........................................");DAOFactory.getIntance().createItemDAO().saveItem(item);} else {break;}}}public Date getMaxDate(String title) {Feed feed = DAOFactory.getIntance().createFeedDAO().getFeedByTitle(title);Long feedid = feed.getId();Date date = org.zjut.HibernateUtil.Util.maxDate(feedid);return date;}} 1 楼 lordhong 2007-05-28 嗯??? 引用
import org.zjut.PO.Feed;
import org.zjut.PO.Item;
import org.zjut.PO.Rss;
为什么要封装这些?? ROME本身提供的就很足够了啊...
0.9早出来了哦, 更新的是:
1) ROME now supports the final version of the Atom Syndication Format RFC 4287: let's Nuke all these feeds! NEW
2) Enclosure support at the Synd level, for all our podcaster friends
3) Bug fixes and more. Details in the ChangeList
4) Modules galore: Content, iTunes Podcast, Slash, Google Base, Creative Commons, MediaRSS
2 和 4 是比较实用的更新. Enclosure支持等了太久了...
Module这些以前都自己写, 现在有plugin好多了. 2 楼 manus 2007-05-28 嗯???
引用
import org.zjut.PO.Feed;
import org.zjut.PO.Item;
import org.zjut.PO.Rss;
为什么要封装这些?? ROME本身提供的就很足够了啊...
这个是一些PO对象 是数据库的映射