【问题标题】:how to cancel XmlRpcClient.execute before timeout (java)如何在超时之前取消 XmlRpcClient.execute(java)
【发布时间】:2015-09-30 21:12:43
【问题描述】:

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

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

有什么想法吗?

【问题讨论】:

  • 请添加一些代码来演示您要执行的操作。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-09-13
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 2014-10-10
    • 2011-04-04
    • 2020-10-30
    相关资源
    最近更新 更多