Add a callback that can intercept channel creation.
This can be used for advanced configuration like setting the netty event loop. The
callback will be invoked with a fully configured channel builder, which the callback can
augment or replace.
By setting a channelPrimer, the ChannelPool created by the provider will be refreshing
ChannelPool. channelPrimer will be invoked periodically when the channels are refreshed
This is public only for technical reasons, for advanced usage.
Sets the Executor for this TransportChannelProvider.
This is optional; if it is not provided, needsExecutor() will return true, meaning that an
Executor must be provided when getChannel is called on the constructed
TransportChannelProvider instance. Note: GrpcTransportProvider will automatically provide its
own Executor in this circumstance when it calls getChannel.
Sets the HeaderProvider for this TransportChannelProvider.
This is optional; if it is not provided, needsHeaders() will return true, meaning that
headers must be provided when getChannel is called on the constructed
TransportChannelProvider instance.
Sets the GrpcInterceptorProvider for this TransportChannelProvider.
The provider will be called once for each underlying gRPC ManagedChannel that is created.
It is recommended to return a new list of new interceptors on each call so that interceptors
are not shared among channels, but this is not required.
[[["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\u003eThe latest version of the \u003ccode\u003eInstantiatingGrpcChannelProvider.Builder\u003c/code\u003e is 2.63.1, with numerous previous versions available, ranging back to 2.7.1.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eInstantiatingGrpcChannelProvider.Builder\u003c/code\u003e class provides methods for configuring and building gRPC channel providers, allowing for detailed customization of channel behavior.\u003c/p\u003e\n"],["\u003cp\u003eDeprecated methods, \u003ccode\u003egetPoolSize()\u003c/code\u003e, \u003ccode\u003esetChannelsPerCpu(double multiplier)\u003c/code\u003e, \u003ccode\u003esetChannelsPerCpu(double multiplier, int maxChannels)\u003c/code\u003e, \u003ccode\u003esetExecutorProvider(ExecutorProvider executorProvider)\u003c/code\u003e, \u003ccode\u003esetPoolSize(int poolSize)\u003c/code\u003e, have all been superseded by \u003ccode\u003esetChannelPoolSettings(ChannelPoolSettings settings)\u003c/code\u003e for channel pool configuration.\u003c/p\u003e\n"],["\u003cp\u003eThis class allows for control over various aspects of gRPC channels such as keep-alive settings, message and metadata size limits, direct path configuration, and channel interception.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can customize the behavior of the channel via methods such as \u003ccode\u003esetChannelConfigurator\u003c/code\u003e, \u003ccode\u003esetChannelPrimer\u003c/code\u003e, and \u003ccode\u003esetInterceptorProvider\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]