我正在尝试使用exponential backoff方法处理Google Drive API v2上的失败批量请求,但是当它使用batch.execute();
再次执行批处理时,由于批次为空而失败。由于需要工作流程,我不希望从头开始重建批处理。有没有解决方法?
编辑:
如果我尝试重新启动批处理而不从头开始重建它,我得到一个IllegalStateException
,这是由批处理为空(它不是第一次启动)引起的。下面是堆栈跟踪的副本。
com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract void com...
...
Caused by: java.lang.IllegalStateException
at com.google.api.client.repackaged.com.google.common.base.Preconditions.checkState(Preconditions.java:161)
at com.google.api.client.util.Preconditions.checkState(Preconditions.java:81)
at com.google.api.client.googleapis.batch.BatchRequest.execute(BatchRequest.java:217)
at com.nubbius.server.drive.DriveServiceImpl.importarFicheros(DriveServiceImpl.java:3647)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:130)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561)
... 42 more