我有一个使用Jsoup库的jar文件,当我启动它时,它打开一个网站,jar从该网站输出一个简单的行。
要从我的个人网站访问它,我用exec()
php函数调用它。大多数情况下,这非常有效,输出也很好。但是,有时,我什么都没有。我从ssh会话中多次启动了jar,我看到,大约5%的时间,我有Exception in thread "main"
导致的java.net.SocketTimeoutException: Read timed out
错误消息。
我想也许这个网站需要花费太多时间来回应,java只是打断了程序。我怎么能管理这个?从我的PHP或我的罐子?
说我没有输出,我必须再次运行jar。我想在php中做这件事,但我认为最好直接在jar中管理它。
提前感谢您的帮助。
答案 0 :(得分:1)
你应该更喜欢jar中Jsoup的超时而不是重试执行jar。不知道使用jsoup的java应用程序的代码。但是应该有一个条目:Connection con = Jsoup.connect("the page url")
这是创建jsoup连接的地方。根据{{3}}的默认超时为3
秒。
您可以将此超时增加到更高的值,如5秒(请注意该方法需要毫秒):
con.timeout(5000);
或没有本地变量:
Jsoup.connect("the page url").timeout(5000).get()