SAXParserFactory URL超时

时间:2010-07-27 19:01:29

标签: java xml timeout saxparser

我有以下代码:

try{
            SAXParserFactory spf = SAXParserFactory.newInstance();
            SAXParser sp = spf.newSAXParser();

            /* Get the XMLReader of the SAXParser we created. */
            XMLReader r = sp.getXMLReader();

            //This handles the xml and populates the entries array
            XMLHandler handler = new XMLHandler();


            // register event handlers
            r.setContentHandler(handler);
            String url = "http://news.library.ryerson.ca/api/isbnsearch.php?isbn="+ISBN;
            r.parse(url);

            return handler.getEntries();
        }

此代码大部分时间都可正常运行,但有几种情况下,用户可以输入100多个相关ISBN的流行书籍的isbn(例如harry potter)。当发生这种情况时,XML提要不会中断,但加载时间会更长(对于极端情况,最长可达30秒)。当页面加载时,它永远不会丢失连接,它只需要加载时间。

有没有办法增加该功能的超时时间?

由于

1 个答案:

答案 0 :(得分:1)

//opens the URL as a stream, so it does not timeout prematurely
String u = new String("http://foobar/isbnsearch.php?isbn="+ISBN);
URL url = new URL(u);
InputStream stream = url.openStream();

r.parse(new InputSource(stream));
stream.close();

通过添加此内容解决了这个问题。