0

RPC 呼び出しに失敗しているときに同じ RPC 呼び出しを複数回試行する最善の方法は何ですか?

単なる例: ここでは、ネットワーク接続が原因で RPC が失敗した場合のような 1 つのケースで、 onFailure(Throwable caught). ここで、ネットワーク接続を確認するために、同じ RPC を再度呼び出す必要があります。最大試行回数は 3 回で、「ネットワークが確立されていません」などのメッセージがユーザーに表示されます。どうすれば達成できますか?

同じ rpc 呼び出しを呼び出すなどのいくつかの考えonFailureがありますが、ここでは要求が異なりsame request have a three requestます。

前もって感謝します。

4

2 に答える 2

1

実装でカウンターを使用しますAsynCallBack。サーバーに再度リクエストする前にタイマーを使用することもお勧めします。

このコードは動作するはずです:

  final GreetingServiceAsync greetingService = GWT.create(GreetingService.class);
  final String textToServer = "foo";
  greetingService.greetServer(textToServer, new AsyncCallback<String>() {
    int tries = 0;
    public void onSuccess(String result) {
      // Do something
    }
    public void onFailure(Throwable caught) {
      if (tries ++ < 3) {
        // Optional Enclose the new call in a timer to wait sometime before requesting the server again
        new Timer() {
          public void run() {
            greetingService.greetServer(textToServer, this);
          }
        }.schedule(4000);
      }
    }
  });
于 2013-07-17T10:19:09.933 に答える