Set the delay threshold to use for batching. After this amount of time has elapsed (counting
from the first element added), the elements will be wrapped up in a batch and sent. This
value should not be set too high, usually on the order of milliseconds. Otherwise, calls
might appear to never complete.
[[["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-08-15 UTC."],[[["\u003cp\u003eThe latest version available is 2.63.1, with a comprehensive list of previous versions also provided, ranging down to version 2.7.1.\u003c/p\u003e\n"],["\u003cp\u003eThis page documents the \u003ccode\u003eBatchingSettings.Builder\u003c/code\u003e class, which is used to configure settings for batching operations in the Google API client library for Java (gax).\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eBatchingSettings.Builder\u003c/code\u003e class inherits from \u003ccode\u003ejava.lang.Object\u003c/code\u003e and provides methods for configuring batching thresholds based on time, element count, and request size.\u003c/p\u003e\n"],["\u003cp\u003eThe class offers methods such as \u003ccode\u003esetDelayThresholdDuration\u003c/code\u003e, \u003ccode\u003esetElementCountThreshold\u003c/code\u003e, and \u003ccode\u003esetRequestByteThreshold\u003c/code\u003e to fine-tune the batching behavior based on different thresholds, alongside enabling or disabling the batch logic.\u003c/p\u003e\n"],["\u003cp\u003eThe class also allows the configuration of the flow control settings via the \u003ccode\u003esetFlowControlSettings\u003c/code\u003e method, and the \u003ccode\u003ebuild\u003c/code\u003e method creates a \u003ccode\u003eBatchingSettings\u003c/code\u003e object based on the configured settings.\u003c/p\u003e\n"]]],[],null,["# Class BatchingSettings.Builder (2.69.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.69.0 (latest)](/java/docs/reference/gax/latest/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.68.2](/java/docs/reference/gax/2.68.2/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.67.0](/java/docs/reference/gax/2.67.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.66.0](/java/docs/reference/gax/2.66.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.65.0](/java/docs/reference/gax/2.65.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.63.1](/java/docs/reference/gax/2.63.1/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.62.0](/java/docs/reference/gax/2.62.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.61.0](/java/docs/reference/gax/2.61.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.60.0](/java/docs/reference/gax/2.60.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.59.1](/java/docs/reference/gax/2.59.1/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.58.0](/java/docs/reference/gax/2.58.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.57.0](/java/docs/reference/gax/2.57.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.55.0](/java/docs/reference/gax/2.55.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.54.1](/java/docs/reference/gax/2.54.1/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.53.0](/java/docs/reference/gax/2.53.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.52.0](/java/docs/reference/gax/2.52.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.51.0](/java/docs/reference/gax/2.51.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.50.0](/java/docs/reference/gax/2.50.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.49.0](/java/docs/reference/gax/2.49.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.48.1](/java/docs/reference/gax/2.48.1/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.47.0](/java/docs/reference/gax/2.47.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.46.1](/java/docs/reference/gax/2.46.1/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.45.0](/java/docs/reference/gax/2.45.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.43.0](/java/docs/reference/gax/2.43.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.42.0](/java/docs/reference/gax/2.42.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.41.0](/java/docs/reference/gax/2.41.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.39.0](/java/docs/reference/gax/2.39.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.38.0](/java/docs/reference/gax/2.38.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.37.0](/java/docs/reference/gax/2.37.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.36.0](/java/docs/reference/gax/2.36.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.35.0](/java/docs/reference/gax/2.35.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.34.1](/java/docs/reference/gax/2.34.1/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.33.0](/java/docs/reference/gax/2.33.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.32.1](/java/docs/reference/gax/2.32.1/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.31.1](/java/docs/reference/gax/2.31.1/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.30.1](/java/docs/reference/gax/2.30.1/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.24.0](/java/docs/reference/gax/2.24.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.23.3](/java/docs/reference/gax/2.23.3/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.22.0](/java/docs/reference/gax/2.22.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.21.0](/java/docs/reference/gax/2.21.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.20.1](/java/docs/reference/gax/2.20.1/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.19.6](/java/docs/reference/gax/2.19.6/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.18.7](/java/docs/reference/gax/2.18.7/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.17.0](/java/docs/reference/gax/2.17.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.16.0](/java/docs/reference/gax/2.16.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.15.0](/java/docs/reference/gax/2.15.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.14.0](/java/docs/reference/gax/2.14.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.13.0](/java/docs/reference/gax/2.13.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.12.2](/java/docs/reference/gax/2.12.2/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.11.0](/java/docs/reference/gax/2.11.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.10.0](/java/docs/reference/gax/2.10.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.9.0](/java/docs/reference/gax/2.9.0/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.8.1](/java/docs/reference/gax/2.8.1/com.google.api.gax.batching.BatchingSettings.Builder)\n- [2.7.1](/java/docs/reference/gax/2.7.1/com.google.api.gax.batching.BatchingSettings.Builder) \n\n public abstract static class BatchingSettings.Builder\n\nSee the class documentation of [BatchingSettings](/java/docs/reference/gax/latest/com.google.api.gax.batching.BatchingSettings) for a description of the different\nvalues that can be set. \n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e BatchingSettings.Builder \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nConstructors\n------------\n\n### Builder()\n\n public Builder()\n\nMethods\n-------\n\n### build()\n\n public BatchingSettings build()\n\nBuild the BatchingSettings object.\n\n### setDelayThreshold(Duration delayThreshold)\n\n public final BatchingSettings.Builder setDelayThreshold(Duration delayThreshold)\n\n| **Obsolete**\n|\n| *Use setDelayThresholdDuration(java.time.Duration) instead*\n|\n| This feature is stable for usage in this major version, but may be deprecated in a future release.\n\nThis method is obsolete. Use [#setDelayThresholdDuration(Duration)](/java/docs/reference/gax/latest/com.google.api.gax.batching.BatchingSettings.Builder#com_google_api_gax_batching_BatchingSettings_Builder_setDelayThresholdDuration_java_time_Duration_) instead\n\n### setDelayThresholdDuration(Duration delayThreshold)\n\n public abstract BatchingSettings.Builder setDelayThresholdDuration(Duration delayThreshold)\n\nSet the delay threshold to use for batching. After this amount of time has elapsed (counting\nfrom the first element added), the elements will be wrapped up in a batch and sent. This\nvalue should not be set too high, usually on the order of milliseconds. Otherwise, calls\nmight appear to never complete.\n\n### setElementCountThreshold(Long elementCountThreshold)\n\n public abstract BatchingSettings.Builder setElementCountThreshold(Long elementCountThreshold)\n\nSet the element count threshold to use for batching. After this many elements are\naccumulated, they will be wrapped up in a batch and sent.\n\n### setFlowControlSettings(FlowControlSettings flowControlSettings)\n\n public abstract BatchingSettings.Builder setFlowControlSettings(FlowControlSettings flowControlSettings)\n\nSet the flow control settings to be used.\n\n### setIsEnabled(Boolean enabled)\n\n public abstract BatchingSettings.Builder setIsEnabled(Boolean enabled)\n\nSet if the batch should be enabled. If set to false, the batch logic will be disabled and the\nsimple API call will be used. Default to true.\n\n### setRequestByteThreshold(Long requestByteThreshold)\n\n public abstract BatchingSettings.Builder setRequestByteThreshold(Long requestByteThreshold)\n\nSet the request byte threshold to use for batching. After this many bytes are accumulated,\nthe elements will be wrapped up in a batch and sent."]]