public final class BatchRequestAn instance of this class represents a single batch of requests.
Sample use:
// client is a AbstractGoogleClient (e.g.
// com.google.api.services.books.Books)
BatchRequest batch = client.batch(httpRequestInitializer);
batch.queue(volumesList, Volumes.class, GoogleJsonErrorContainer.class,
new BatchCallback<Volumes, GoogleJsonErrorContainer>() {
public void onSuccess(Volumes volumes, HttpHeaders responseHeaders) {
log("Success");
printVolumes(volumes.getItems());
}
public void onFailure(GoogleJsonErrorContainer e, HttpHeaders responseHeaders) {
log(e.getError().getMessage());
}
});
batch.queue(volumesList, Volumes.class, GoogleJsonErrorContainer.class,
new BatchCallback<Volumes, GoogleJsonErrorContainer>() {
public void onSuccess(Volumes volumes, HttpHeaders responseHeaders) {
log("Success");
printVolumes(volumes.getItems());
}
public void onFailure(GoogleJsonErrorContainer e, HttpHeaders responseHeaders) {
log(e.getError().getMessage());
}
});
batch.execute();
The content of each individual response is stored in memory. There is thus a potential of encountering an OutOfMemoryError for very large responses.
Redirects are currently not followed in BatchRequest.
Implementation is not thread-safe.
Note: When setting an HttpUnsuccessfulResponseHandler by calling to HttpRequest#setUnsuccessfulResponseHandler, the handler is called for each unsuccessful part. As a result it's not recommended to use HttpBackOffUnsuccessfulResponseHandler on a batch request, since the back-off policy is invoked for each unsuccessful part.
Constructors
BatchRequest(HttpTransport transport, HttpRequestInitializer httpRequestInitializer) (deprecated)
public BatchRequest(HttpTransport transport, HttpRequestInitializer httpRequestInitializer)Deprecated. Please use AbstractGoogleClient#batch(HttpRequestInitializer) to instantiate your batch request.
Construct the BatchRequest.
| Parameters | |
|---|---|
| Name | Description |
transport |
com.google.api.client.http.HttpTransportThe transport to use for requests |
httpRequestInitializer |
com.google.api.client.http.HttpRequestInitializerThe initializer to use when creating an HttpRequest or
|
Methods
<T,E>queue(HttpRequest httpRequest, Class<T> dataClass, Class<E> errorClass, BatchCallback<T,E> callback)
public BatchRequest <T,E>queue(HttpRequest httpRequest, Class<T> dataClass, Class<E> errorClass, BatchCallback<T,E> callback)Queues the specified HttpRequest for batched execution. Batched requests are executed when #execute() is called.
| Parameters | |
|---|---|
| Name | Description |
httpRequest |
com.google.api.client.http.HttpRequestHTTP Request |
dataClass |
Class<T>Data class the response will be parsed into or |
errorClass |
Class<E>Data class the unsuccessful response will be parsed into or |
callback |
BatchCallback<T,E>Batch Callback |
| Returns | |
|---|---|
| Type | Description |
BatchRequest |
this Batch request |
| Exceptions | |
|---|---|
| Type | Description |
IOException |
If building the HTTP Request fails |
execute()
public void execute()Executes all queued HTTP requests in a single call, parses the responses and invokes callbacks.
Calling #execute() executes and clears the queued requests. This means that the BatchRequest object can be reused to #queue and #execute() requests again.
| Exceptions | |
|---|---|
| Type | Description |
IOException |
|
getBatchUrl()
public GenericUrl getBatchUrl()Returns the URL that will be hit when #execute() is called.
| Returns | |
|---|---|
| Type | Description |
com.google.api.client.http.GenericUrl |
|
getSleeper()
public Sleeper getSleeper()Returns the sleeper.
| Returns | |
|---|---|
| Type | Description |
com.google.api.client.util.Sleeper |
|
setBatchUrl(GenericUrl batchUrl)
public BatchRequest setBatchUrl(GenericUrl batchUrl)Sets the URL that will be hit when #execute() is called. The default value is
https://www.googleapis.com/batch.
| Parameter | |
|---|---|
| Name | Description |
batchUrl |
com.google.api.client.http.GenericUrl |
| Returns | |
|---|---|
| Type | Description |
BatchRequest |
|
setSleeper(Sleeper sleeper)
public BatchRequest setSleeper(Sleeper sleeper)Sets the sleeper. The default value is Sleeper#DEFAULT.
| Parameter | |
|---|---|
| Name | Description |
sleeper |
com.google.api.client.util.Sleeper |
| Returns | |
|---|---|
| Type | Description |
BatchRequest |
|
size()
public int size()Returns the number of queued requests in this batch request.
| Returns | |
|---|---|
| Type | Description |
int |
|