ClientBootstrap.resolver is hard to use for single-use resolvers
#2434 aperta il 26 mag 2023
Metriche repository
- Star
- (8453 star)
- Metriche merge PR
- (Merge medio 8g 5h) (18 PR mergiate in 30 g)
Descrizione
Some resolvers (like NIO's internal GAIResolver) are use-exactly-once objects. They work only if used once (not 0 times, not twice).
ClientBootstrap.resolver is hard to use with those objects because one might want to pass around a pre-configured ClientBootstrap and then not use it or use it multiple times.
Maybe ClientBootstrap could offer a resolverFactory method that gets invoked exactly when we actually do the resolution.
The other option would that NIO could provide a Resolver type that wraps use-once resolvers and managed their lifetime (creates a fresh one when a resolution actually happens).