我在java中编程并使用XML-RPC将数据从客户端提交到服务器。我的问题是,当我XmlRpcClient.execute代码时,但每当我遇到连接错误时,应用程序都会卡住,直到我最终得到一个Timeout异常(我想要)。我将整个过程放在一个新的线程中,如果我不想等待超时,我希望能够停止/取消该过程。
如果我可以中断XmlRpcClient.execute代码,我学会了如何停止线程但是idk。
任何想法?
答案 0 :(得分:0)
默认的execute
方法本质上是同步的,即阻塞。
如果您使用的是Jakarta Commons HttpClient,则可以使用传输的setConnectionTimeout
方法将套接字超时设置为较短的值(默认值为0表示无超时)。
但我相信,正确的处理方法是使用executeAsync
方法并为其提供回调以便继续。