1

私は Java でプログラミングしており、XML-RPC を使用してクライアントからサーバーにデータを送信しています。私の問題は、 XmlRpcClient.execute コードを実行すると、接続エラーが発生するたびに、最終的に Timeout 例外が発生するまでアプリケーションがスタックすることです(これが必要です)。このプロセス全体を新しいスレッドに配置し、タイムアウトを待ちたくない場合にプロセスを停止/キャンセルする機能が必要でした。

スレッドを停止する方法を学びましたが、XmlRpcClient.execute コードを中断できるかどうかはわかりません。

何か案は?

4

1 に答える 1

0

デフォルトのexecute方法は、本質的に同期、つまりブロッキングです。setConnectionTimeoutJakarta Commons HttpClient を使用している場合は、トランスポートのメソッドを使用してソケット タイムアウトをより短い値 (デフォルトは 0 でタイムアウトなし) に設定できます。ただし、適切な処理は、executeAsyncメソッドを使用し、続行するためにコールバックを提供することだと思います。

于 2015-09-30T21:32:57.797 に答える