An implementation of a StreamResumptionStrategy for the ReadRows API. This class tracks
the offset of the last row received and, upon retry, attempts to resume the stream at the next
offset.
This class is considered an internal implementation detail and not meant to be used by
applications.
Given the initial/original request, this implementation generates a request that will yield
a new stream whose first response would come right after the last response received by
processResponse. It takes into account the offset from the original request.
[[["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-18 UTC."],[],[],null,["# Class ReadRowsResumptionStrategy (3.16.2)\n\nVersion latestkeyboard_arrow_down\n\n- [3.16.2 (latest)](/java/docs/reference/google-cloud-bigquerystorage/latest/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.16.1](/java/docs/reference/google-cloud-bigquerystorage/3.16.1/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.15.3](/java/docs/reference/google-cloud-bigquerystorage/3.15.3/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.14.1](/java/docs/reference/google-cloud-bigquerystorage/3.14.1/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.12.0](/java/docs/reference/google-cloud-bigquerystorage/3.12.0/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.11.4](/java/docs/reference/google-cloud-bigquerystorage/3.11.4/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.10.3](/java/docs/reference/google-cloud-bigquerystorage/3.10.3/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.9.3](/java/docs/reference/google-cloud-bigquerystorage/3.9.3/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.8.0](/java/docs/reference/google-cloud-bigquerystorage/3.8.0/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.6.1](/java/docs/reference/google-cloud-bigquerystorage/3.6.1/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.5.2](/java/docs/reference/google-cloud-bigquerystorage/3.5.2/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.4.0](/java/docs/reference/google-cloud-bigquerystorage/3.4.0/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.3.1](/java/docs/reference/google-cloud-bigquerystorage/3.3.1/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.2.0](/java/docs/reference/google-cloud-bigquerystorage/3.2.0/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.1.0](/java/docs/reference/google-cloud-bigquerystorage/3.1.0/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [3.0.1](/java/docs/reference/google-cloud-bigquerystorage/3.0.1/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [2.47.0](/java/docs/reference/google-cloud-bigquerystorage/2.47.0/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [2.45.0](/java/docs/reference/google-cloud-bigquerystorage/2.45.0/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [2.44.1](/java/docs/reference/google-cloud-bigquerystorage/2.44.1/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy)\n- [2.43.0](/java/docs/reference/google-cloud-bigquerystorage/2.43.0/com.google.cloud.bigquery.storage.v1beta2.stub.readrows.ReadRowsResumptionStrategy) \n\n public class ReadRowsResumptionStrategy implements StreamResumptionStrategy\u003cReadRowsRequest,ReadRowsResponse\u003e\n\nAn implementation of a [StreamResumptionStrategy](https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.retrying.StreamResumptionStrategy.html) for the ReadRows API. This class tracks\nthe offset of the last row received and, upon retry, attempts to resume the stream at the next\noffset.\n\nThis class is considered an internal implementation detail and not meant to be used by\napplications. \n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e ReadRowsResumptionStrategy \n\nImplements\n----------\n\n[StreamResumptionStrategy](https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.retrying.StreamResumptionStrategy.html)\\\u003c[ReadRowsRequest](/java/docs/reference/google-cloud-bigquerystorage/latest/com.google.cloud.bigquery.storage.v1beta2.ReadRowsRequest),[ReadRowsResponse](/java/docs/reference/google-cloud-bigquerystorage/latest/com.google.cloud.bigquery.storage.v1beta2.ReadRowsResponse)\\\u003e \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### ReadRowsResumptionStrategy()\n\n public ReadRowsResumptionStrategy()\n\nMethods\n-------\n\n### canResume()\n\n public boolean canResume()\n\n### createNew()\n\n public StreamResumptionStrategy\u003cReadRowsRequest,ReadRowsResponse\u003e createNew()\n\n### getResumeRequest(ReadRowsRequest originalRequest)\n\n public ReadRowsRequest getResumeRequest(ReadRowsRequest originalRequest)\n\nGiven the initial/original request, this implementation generates a request that will yield\na new stream whose first response would come right after the last response received by\nprocessResponse. It takes into account the offset from the original request.\n\n### processResponse(ReadRowsResponse response)\n\n public ReadRowsResponse processResponse(ReadRowsResponse response)"]]