2

GCM を Google AppEngine (Java) と組み合わせて使用​​しています。私のサービスは、毎日 10,000 件以上のメッセージを送信しています。ほとんどすべてのメッセージが正常に受信者に送信されます。しかし、ほぼ毎日、AppEngine 経由で GCM メッセージを送信した後、次の例外が発生します。

Uncaught exception from servlet
java.io.IOException: Could not fetch URL: https://android.googleapis.com/gcm/send
at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationException(URLFetchServiceImpl.java:137)
at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java:43)
at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.fetchResponse(URLFetchServiceStreamHandler.java:417)
at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.getInputStream(URLFetchServiceStreamHandler.java:296)
at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.getResponseCode(URLFetchServiceStreamHandler.java:149)
at com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:362)
at com.google.android.gcm.server.Sender.send(Sender.java:261)
at de.alamos.firemergency.apager.gcm.ApagerServlet.sendDataToAndroid(ApagerServlet.java:282)
at de.alamos.firemergency.apager.gcm.ApagerServlet.doPost(ApagerServlet.java:162)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
...

このエラーは次の行で発生します。

MulticastResult results = sender.send(message, tokens, 5);

誰かが考えを持っていますか、何が問題なのですか?

すべてのメッセージの 99,999% が送信されるため、これは非常に奇妙です。この例外を投げているのはごくわずかです。

4

1 に答える 1

1

ここに「解決策」があります: https://groups.google.com/forum/#!msg/google-appengine/vkD2ffMogAg/ntF_EkHYaxcJ

概要: AppEngine でいくつかの URL 呼び出しが失敗するのはごく普通のことです。呼び出しが失敗した場合は、もう一度試すだけです。

AppEngine タスク キューを使用してこれを解決しようとしています。

于 2013-08-15T17:39:13.297 に答える