Время ожидания URL SAXParserFactory - PullRequest
0 голосов
/ 27 июля 2010

У меня есть следующий фрагмент кода:

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();
        }

Этот код работает в большинстве случаев нормально, но есть несколько случаев, когда пользователь может ввести isbn популярной книги с более чем 100 ISBN(например, Гарри Поттер).Когда это происходит, фид XML не прерывается, но загрузка занимает больше времени (может быть до 30+ секунд в крайних случаях).Когда страница загружается, она никогда не прерывает соединение, она просто загружается.

Есть ли способ увеличить время ожидания для функции?

Спасибо

1 Ответ

1 голос
/ 30 июля 2010
//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();

Решил это сам, добавив это.

...