我正在用java编程,并使用XML-RPC将数据从客户端提交到服务器。我的问题是,当我XmlRpcClient.execute代码,但每当我有一个连接错误,应用程序被卡住,直到我最终得到一个超时异常(这是我想要的)。我将整个进程放在一个新线程中,并希望能够在不想等待超时的情况下停止/取消该进程。
我学会了如何停止线程,但如果我能中断XmlRpcClient.execute代码,我就不知道了。
有什么想法吗?
发布于 2015-10-01 05:32:58
默认的execute方法本质上是同步的,即阻塞。如果您使用的是Jakarta Commons HttpClient,则可以使用传输的setConnectionTimeout方法将套接字超时设置为一个较短的值(缺省值为0,表示没有超时)。不过,我认为正确的处理方法应该是使用executeAsync方法并提供对它的回调,以便继续。
https://stackoverflow.com/questions/32875727
复制相似问题