An instance of this class represents a single batch of requests.
Sample use:
// client is a AbstractGoogleClient (e.g.// com.google.api.services.books.Books)BatchRequestbatch=client.batch(httpRequestInitializer);batch.queue(volumesList,Volumes.class,GoogleJsonErrorContainer.class,newBatchCallback<Volumes,GoogleJsonErrorContainer>(){publicvoidonSuccess(Volumesvolumes,HttpHeadersresponseHeaders){log("Success");printVolumes(volumes.getItems());}publicvoidonFailure(GoogleJsonErrorContainere,HttpHeadersresponseHeaders){log(e.getError().getMessage());}});batch.queue(volumesList,Volumes.class,GoogleJsonErrorContainer.class,newBatchCallback<Volumes,GoogleJsonErrorContainer>(){publicvoidonSuccess(Volumesvolumes,HttpHeadersresponseHeaders){log("Success");printVolumes(volumes.getItems());}publicvoidonFailure(GoogleJsonErrorContainere,HttpHeadersresponseHeaders){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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-03 UTC."],[],[],null,["# Package com.google.api.client.googleapis.batch (2.8.1)\n\nVersion latestkeyboard_arrow_down\n\n- [2.8.1 (latest)](/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.batch)\n- [2.8.0](/java/docs/reference/google-api-client/2.8.0/com.google.api.client.googleapis.batch)\n- [2.7.2](/java/docs/reference/google-api-client/2.7.2/com.google.api.client.googleapis.batch)\n- [2.6.0](/java/docs/reference/google-api-client/2.6.0/com.google.api.client.googleapis.batch)\n- [2.5.1](/java/docs/reference/google-api-client/2.5.1/com.google.api.client.googleapis.batch)\n- [2.4.1](/java/docs/reference/google-api-client/2.4.1/com.google.api.client.googleapis.batch)\n- [2.1.2](/java/docs/reference/google-api-client/2.1.2/com.google.api.client.googleapis.batch)\n- [2.0.1](/java/docs/reference/google-api-client/2.0.1/com.google.api.client.googleapis.batch)\n- [1.35.2](/java/docs/reference/google-api-client/1.35.2/com.google.api.client.googleapis.batch)\n- [1.34.1](/java/docs/reference/google-api-client/1.34.1/com.google.api.client.googleapis.batch)\n- [1.33.4](/java/docs/reference/google-api-client/1.33.4/com.google.api.client.googleapis.batch) \nBatch for Google API's.\n\nClasses\n-------\n\n### [BatchRequest](/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.batch.BatchRequest)\n\nAn instance of this class represents a single batch of requests.\n\nSample use: \n\n\n // client is a AbstractGoogleClient (e.g.\n // com.google.api.services.books.Books)\n BatchRequest batch = client.batch(httpRequestInitializer);\n batch.queue(volumesList, Volumes.class, GoogleJsonErrorContainer.class,\n new BatchCallback\u003cVolumes, GoogleJsonErrorContainer\u003e() {\n\n public void onSuccess(Volumes volumes, HttpHeaders responseHeaders) {\n log(\"Success\");\n printVolumes(volumes.getItems());\n }\n\n public void onFailure(GoogleJsonErrorContainer e, HttpHeaders responseHeaders) {\n log(e.getError().getMessage());\n }\n });\n batch.queue(volumesList, Volumes.class, GoogleJsonErrorContainer.class,\n new BatchCallback\u003cVolumes, GoogleJsonErrorContainer\u003e() {\n\n public void onSuccess(Volumes volumes, HttpHeaders responseHeaders) {\n log(\"Success\");\n printVolumes(volumes.getItems());\n }\n\n public void onFailure(GoogleJsonErrorContainer e, HttpHeaders responseHeaders) {\n log(e.getError().getMessage());\n }\n });\n batch.execute();\n \nThe content of each individual response is stored in memory. There is thus a potential of\nencountering an OutOfMemoryError for very large responses.\n\nRedirects are currently not followed in [BatchRequest](/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.batch.BatchRequest).\n\nImplementation is not thread-safe.\n\nNote: When setting an HttpUnsuccessfulResponseHandler by calling to HttpRequest#setUnsuccessfulResponseHandler, the handler is called for each unsuccessful part. As\na result it's not recommended to use HttpBackOffUnsuccessfulResponseHandler on a batch\nrequest, since the back-off policy is invoked for each unsuccessful part.\n\nInterfaces\n----------\n\n### [BatchCallback\\\u003cT,E\\\u003e](/java/docs/reference/google-api-client/latest/com.google.api.client.googleapis.batch.BatchCallback)\n\nCallback for an individual batch response.\n\nSample use: \n\n\n batch.queue(volumesList.buildHttpRequest(), Volumes.class, GoogleJsonErrorContainer.class,\n new BatchCallback\u003cVolumes, GoogleJsonErrorContainer\u003e() {\n\n public void onSuccess(Volumes volumes, HttpHeaders responseHeaders) {\n log(\"Success\");\n printVolumes(volumes.getItems());\n }\n\n public void onFailure(GoogleJsonErrorContainer e, HttpHeaders responseHeaders) {\n log(e.getError().getMessage());\n }\n });"]]