我有一个代码,用于从活动mq获取数据并在Rss提要上显示数据,但是代码没有给我关于提要的数据,我得到一个空列表,原因似乎是XmlReader reader = null ;我已经设置了这条线,并且整个执行期间reder似乎为null。
public List<RssFeedMessage> readRssFeeds(@PathVariable String sourceName) {
XmlReader reader = null;
RssFeedMessage rssFeedMessage = null;
StringBuffer feedUrl = new StringBuffer("http://").append(ipaddress).append(":")
.append(port).append("/admin/queueBrowse/").append(sourceName).append("?view=rss&feedType=rss_2.0");
List<RssFeedMessage> rssFeedMessages = new ArrayList<RssFeedMessage>();
try {
URL url = new URL(feedUrl.toString());
reader = new XmlReader(url);
SyndFeed feedMsg = new SyndFeedInput().build(reader);
List<SyndEntry> feedEntries = feedMsg.getEntries();
for (SyndEntry entry : feedEntries) {
rssFeedMessage = new RssFeedMessage();
rssFeedMessage.setTitle(entry.getTitle());
rssFeedMessage.setDescription(entry.getDescription().getValue());
rssFeedMessage.setDate(OptimerUtil.simpleDateHourTimeInd.format(entry.getPublishedDate()));
rssFeedMessages.add(rssFeedMessage);
}
} catch(IOException e){
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (FeedException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
}
}
}
return rssFeedMessages;
}
}
它只是退出coz阅读器仍然是空的,我在阅读器上获得io异常=新的XmlReader(url);
答案 0 :(得分:0)
检查feedUrl
URL url = new URL(feedUrl.toString());
包含的内容
字符串可能存在问题。
此外,在解析之前,让您管理像String等于null
或无法访问的条件