A base settings class to configure a client stub class.
This base class includes settings that are applicable to all services, which includes things
like settings for creating an executor, credentials, transport-specific settings, and identifiers
for http headers.
If no ExecutorProvider is set, then InstantiatingExecutorProvider will be used, which creates
a default executor.
Marked with Internal Api and meant to overriden by the generated subclasses. This getter is
used to set the serviceName to the EndpointContext. The value in generated StubSettings
subclasses comes from the proto files.
This should be effectively treated as an abstract method.
[[["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."],[[["\u003cp\u003eThis webpage provides documentation for the \u003ccode\u003eStubSettings\u003c/code\u003e class in the Google API Client Library for Java (gax).\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of \u003ccode\u003eStubSettings\u003c/code\u003e is 2.63.1, and there are multiple previous versions available for reference, ranging from 2.62.0 down to 2.7.1.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eStubSettings\u003c/code\u003e is an abstract class that is used as a base for configuring a client stub class, with settings applicable to all services like executor creation, credentials, transport settings, and HTTP header identifiers.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eStubSettings\u003c/code\u003e class manages the configuration of various components, such as API keys, background executors, credentials, endpoints, headers, watchdog providers, tracers, and transport channels.\u003c/p\u003e\n"],["\u003cp\u003eThere are various methods detailed on this page that are used for configuring the settings of the client stub class, including but not limited to the methods getApiKey(), getCredentialsProvider(), and getEndpoint().\u003c/p\u003e\n"]]],[],null,["# Class StubSettings<SettingsT> (2.69.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.69.0 (latest)](/java/docs/reference/gax/latest/com.google.api.gax.rpc.StubSettings)\n- [2.68.2](/java/docs/reference/gax/2.68.2/com.google.api.gax.rpc.StubSettings)\n- [2.67.0](/java/docs/reference/gax/2.67.0/com.google.api.gax.rpc.StubSettings)\n- [2.66.0](/java/docs/reference/gax/2.66.0/com.google.api.gax.rpc.StubSettings)\n- [2.65.0](/java/docs/reference/gax/2.65.0/com.google.api.gax.rpc.StubSettings)\n- [2.63.1](/java/docs/reference/gax/2.63.1/com.google.api.gax.rpc.StubSettings)\n- [2.62.0](/java/docs/reference/gax/2.62.0/com.google.api.gax.rpc.StubSettings)\n- [2.61.0](/java/docs/reference/gax/2.61.0/com.google.api.gax.rpc.StubSettings)\n- [2.60.0](/java/docs/reference/gax/2.60.0/com.google.api.gax.rpc.StubSettings)\n- [2.59.1](/java/docs/reference/gax/2.59.1/com.google.api.gax.rpc.StubSettings)\n- [2.58.0](/java/docs/reference/gax/2.58.0/com.google.api.gax.rpc.StubSettings)\n- [2.57.0](/java/docs/reference/gax/2.57.0/com.google.api.gax.rpc.StubSettings)\n- [2.55.0](/java/docs/reference/gax/2.55.0/com.google.api.gax.rpc.StubSettings)\n- [2.54.1](/java/docs/reference/gax/2.54.1/com.google.api.gax.rpc.StubSettings)\n- [2.53.0](/java/docs/reference/gax/2.53.0/com.google.api.gax.rpc.StubSettings)\n- [2.52.0](/java/docs/reference/gax/2.52.0/com.google.api.gax.rpc.StubSettings)\n- [2.51.0](/java/docs/reference/gax/2.51.0/com.google.api.gax.rpc.StubSettings)\n- [2.50.0](/java/docs/reference/gax/2.50.0/com.google.api.gax.rpc.StubSettings)\n- [2.49.0](/java/docs/reference/gax/2.49.0/com.google.api.gax.rpc.StubSettings)\n- [2.48.1](/java/docs/reference/gax/2.48.1/com.google.api.gax.rpc.StubSettings)\n- [2.47.0](/java/docs/reference/gax/2.47.0/com.google.api.gax.rpc.StubSettings)\n- [2.46.1](/java/docs/reference/gax/2.46.1/com.google.api.gax.rpc.StubSettings)\n- [2.45.0](/java/docs/reference/gax/2.45.0/com.google.api.gax.rpc.StubSettings)\n- [2.43.0](/java/docs/reference/gax/2.43.0/com.google.api.gax.rpc.StubSettings)\n- [2.42.0](/java/docs/reference/gax/2.42.0/com.google.api.gax.rpc.StubSettings)\n- [2.41.0](/java/docs/reference/gax/2.41.0/com.google.api.gax.rpc.StubSettings)\n- [2.39.0](/java/docs/reference/gax/2.39.0/com.google.api.gax.rpc.StubSettings)\n- [2.38.0](/java/docs/reference/gax/2.38.0/com.google.api.gax.rpc.StubSettings)\n- [2.37.0](/java/docs/reference/gax/2.37.0/com.google.api.gax.rpc.StubSettings)\n- [2.36.0](/java/docs/reference/gax/2.36.0/com.google.api.gax.rpc.StubSettings)\n- [2.35.0](/java/docs/reference/gax/2.35.0/com.google.api.gax.rpc.StubSettings)\n- [2.34.1](/java/docs/reference/gax/2.34.1/com.google.api.gax.rpc.StubSettings)\n- [2.33.0](/java/docs/reference/gax/2.33.0/com.google.api.gax.rpc.StubSettings)\n- [2.32.1](/java/docs/reference/gax/2.32.1/com.google.api.gax.rpc.StubSettings)\n- [2.31.1](/java/docs/reference/gax/2.31.1/com.google.api.gax.rpc.StubSettings)\n- [2.30.1](/java/docs/reference/gax/2.30.1/com.google.api.gax.rpc.StubSettings)\n- [2.24.0](/java/docs/reference/gax/2.24.0/com.google.api.gax.rpc.StubSettings)\n- [2.23.3](/java/docs/reference/gax/2.23.3/com.google.api.gax.rpc.StubSettings)\n- [2.22.0](/java/docs/reference/gax/2.22.0/com.google.api.gax.rpc.StubSettings)\n- [2.21.0](/java/docs/reference/gax/2.21.0/com.google.api.gax.rpc.StubSettings)\n- [2.20.1](/java/docs/reference/gax/2.20.1/com.google.api.gax.rpc.StubSettings)\n- [2.19.6](/java/docs/reference/gax/2.19.6/com.google.api.gax.rpc.StubSettings)\n- [2.18.7](/java/docs/reference/gax/2.18.7/com.google.api.gax.rpc.StubSettings)\n- [2.17.0](/java/docs/reference/gax/2.17.0/com.google.api.gax.rpc.StubSettings)\n- [2.16.0](/java/docs/reference/gax/2.16.0/com.google.api.gax.rpc.StubSettings)\n- [2.15.0](/java/docs/reference/gax/2.15.0/com.google.api.gax.rpc.StubSettings)\n- [2.14.0](/java/docs/reference/gax/2.14.0/com.google.api.gax.rpc.StubSettings)\n- [2.13.0](/java/docs/reference/gax/2.13.0/com.google.api.gax.rpc.StubSettings)\n- [2.12.2](/java/docs/reference/gax/2.12.2/com.google.api.gax.rpc.StubSettings)\n- [2.11.0](/java/docs/reference/gax/2.11.0/com.google.api.gax.rpc.StubSettings)\n- [2.10.0](/java/docs/reference/gax/2.10.0/com.google.api.gax.rpc.StubSettings)\n- [2.9.0](/java/docs/reference/gax/2.9.0/com.google.api.gax.rpc.StubSettings)\n- [2.8.1](/java/docs/reference/gax/2.8.1/com.google.api.gax.rpc.StubSettings)\n- [2.7.1](/java/docs/reference/gax/2.7.1/com.google.api.gax.rpc.StubSettings) \n\n public abstract class StubSettings\u003cSettingsT\u003e\n\nA base settings class to configure a client stub class.\n\nThis base class includes settings that are applicable to all services, which includes things\nlike settings for creating an executor, credentials, transport-specific settings, and identifiers\nfor http headers.\n\nIf no ExecutorProvider is set, then InstantiatingExecutorProvider will be used, which creates\na default executor. \n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e StubSettings\\\u003cSettingsT\\\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### StubSettings(StubSettings.Builder builder)\n\n protected StubSettings(StubSettings.Builder builder)\n\nConstructs an instance of StubSettings.\n\nMethods\n-------\n\n### getApiKey()\n\n public final String getApiKey()\n\nGets the API Key that should be used for authentication.\n\n### getBackgroundExecutorProvider()\n\n public final ExecutorProvider getBackgroundExecutorProvider()\n\n### getClock()\n\n public final ApiClock getClock()\n\n### getCredentialsProvider()\n\n public final CredentialsProvider getCredentialsProvider()\n\n### getEndpoint()\n\n public String getEndpoint()\n\n### getExecutorProvider() (deprecated)\n\n public final ExecutorProvider getExecutorProvider()\n\n**Deprecated.** *Please use [#getBackgroundExecutorProvider()](/java/docs/reference/gax/latest/com.google.api.gax.rpc.StubSettings#com_google_api_gax_rpc_StubSettings_getBackgroundExecutorProvider__).*\n\n### getGdchApiAudience()\n\n public final String getGdchApiAudience()\n\nGets the GDCH API audience to be used with com.google.auth.oauth2.GdchCredentials\n\n### getHeaderProvider()\n\n public final HeaderProvider getHeaderProvider()\n\n### getInternalHeaderProvider()\n\n protected final HeaderProvider getInternalHeaderProvider()\n\n### getMtlsEndpoint()\n\n public final String getMtlsEndpoint()\n\n### getQuotaProjectId()\n\n public final String getQuotaProjectId()\n\n### getServiceName()\n\n protected String getServiceName()\n\n| **Internal Only**: This feature is not stable for application use.\n\nMarked with Internal Api and meant to overriden by the generated subclasses. This getter is\nused to set the serviceName to the EndpointContext. The value in generated StubSettings\nsubclasses comes from the proto files.\n\nThis should be effectively treated as an abstract method.\n\n### getStreamWatchdogCheckInterval()\n\n public final Duration getStreamWatchdogCheckInterval()\n\n| **Obsolete**\n|\n| *Use getStreamWatchdogCheckIntervalDuration() 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 [#getStreamWatchdogCheckIntervalDuration()](/java/docs/reference/gax/latest/com.google.api.gax.rpc.StubSettings#com_google_api_gax_rpc_StubSettings_getStreamWatchdogCheckIntervalDuration__) instead.\n\n### getStreamWatchdogCheckIntervalDuration()\n\n public final Duration getStreamWatchdogCheckIntervalDuration()\n\n### getStreamWatchdogProvider()\n\n public final WatchdogProvider getStreamWatchdogProvider()\n\n### getTracerFactory()\n\n public ApiTracerFactory getTracerFactory()\n\n| **Beta**\n|\n| *The surface for tracing is not stable yet and may change in the future.*\n|\n| This feature is covered by the [Pre-GA Offerings Terms](/terms/service-terms#1) of the Terms of Service. Pre-GA libraries might have limited support, and changes to pre-GA libraries might not be compatible with other pre-GA versions. For more information, see the launch stage descriptions.\n\nGets the configured [ApiTracerFactory](/java/docs/reference/gax/latest/com.google.api.gax.tracing.ApiTracerFactory) that will be used to generate traces for\noperations.\n\n### getTransportChannelProvider()\n\n public final TransportChannelProvider getTransportChannelProvider()\n\n### getUniverseDomain()\n\n public final String getUniverseDomain()\n\n### toBuilder()\n\n public abstract StubSettings.Builder toBuilder()\n\n### toString()\n\n public String toString()\n\n**Overrides** \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--)"]]