java — запускать файл jar из php и управлять исключениями?

У меня есть файл jar, который использует библиотеку Jsoup, и когда я запускаю ее, она открывает веб-сайт, и jar выводит простую строку с этого веб-сайта.
Чтобы получить доступ к нему с моего личного сайта, я звоню с exec() функция php. В большинстве случаев это работает отлично, и результат хорошо отображается. Но иногда у меня ничего нет. Я запускал jar много раз из сеанса ssh и видел, что примерно в 5% случаев у меня появляется сообщение об ошибке с Exception in thread "main", вызванный java.net.SocketTimeoutException: Read timed out,
Я думаю, что, возможно, сайту требуется слишком много времени, чтобы ответить, и java просто прерывает программу. Как я мог справиться с этим? Из моего php или из моей банки?
Сказав, что пока у меня нет выхода, я должен снова запустить банку. Я думал о том, чтобы сделать это в php, но я думаю, что было бы лучше управлять им прямо в банке.
Спасибо заранее за вашу помощь.

0

Решение

Вы должны скорее увеличить время ожидания Jsoup в банке, чем пытаться выполнить банку. Не зная код приложения Java, использующего jsoup. но должна быть запись вроде: Connection con = Jsoup.connect("the page url") здесь создается соединение jsoup. Тайм-аут по умолчанию в соответствии с документы является 3 секунд.
Вы можете увеличить это время ожидания до 5 секунд (обратите внимание, что метод ожидает миллисекунды):

con.timeout(5000);

Или без локальной переменной:

Jsoup.connect("the page url").timeout(5000).get()
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]