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"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-15 UTC."],[[["\u003cp\u003eThe latest version available is 2.63.1, but the current page documentation is for version 2.23.3.\u003c/p\u003e\n"],["\u003cp\u003eThis page details the \u003ccode\u003eInstantiatingGrpcChannelProvider.Builder\u003c/code\u003e class, which is used to configure and build \u003ccode\u003eInstantiatingGrpcChannelProvider\u003c/code\u003e instances for gRPC communication in Java.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eInstantiatingGrpcChannelProvider.Builder\u003c/code\u003e class inherits several methods from \u003ccode\u003ejava.lang.Object\u003c/code\u003e such as \u003ccode\u003eclone()\u003c/code\u003e, \u003ccode\u003eequals()\u003c/code\u003e, and \u003ccode\u003etoString()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eKey methods of this class include \u003ccode\u003ebuild()\u003c/code\u003e, \u003ccode\u003egetChannelConfigurator()\u003c/code\u003e, \u003ccode\u003egetEndpoint()\u003c/code\u003e, \u003ccode\u003esetKeepAliveTime()\u003c/code\u003e, \u003ccode\u003esetMaxInboundMessageSize()\u003c/code\u003e, and numerous \u003ccode\u003eset\u003c/code\u003e methods to customize the channel behavior.\u003c/p\u003e\n"],["\u003cp\u003eDeprecated methods like \u003ccode\u003egetPoolSize()\u003c/code\u003e, \u003ccode\u003esetChannelsPerCpu()\u003c/code\u003e, and \u003ccode\u003esetPoolSize()\u003c/code\u003e should be avoided, replaced by using \u003ccode\u003esetChannelPoolSettings(ChannelPoolSettings)\u003c/code\u003e instead.\u003c/p\u003e\n"]]],[],null,[]]