如何在超时之前取消XmlRpcClient.execute(java)

时间:2015-09-30 21:12:44

标签: java thread-safety xml-rpc vpn cancel-button

我在java中编程并使用XML-RPC将数据从客户端提交到服务器。我的问题是,当我XmlRpcClient.execute代码时,但每当我遇到连接错误时,应用程序都会卡住,直到我最终得到一个Timeout异常(我想要)。我将整个过程放在一个新的线程中,如果我不想等待超时,我希望能够停止/取消该过程。

如果我可以中断XmlRpcClient.execute代码,我学会了如何停止线程但是idk。

任何想法?

1 个答案:

答案 0 :(得分:0)

默认的execute方法本质上是同步的,即阻塞。 如果您使用的是Jakarta Commons HttpClient,则可以使用传输的setConnectionTimeout方法将套接字超时设置为较短的值(默认值为0表示无超时)。 但我相信,正确的处理方法是使用executeAsync方法并为其提供回调以便继续。