oscerd opened a new pull request, #28439: URL: https://github.com/apache/camel/pull/28439
## Backport of #28217 Cherry-pick of #28217 onto `camel-4.22.x`. **Original PR:** #28217 - CAMEL-25889: camel-google-mail/drive/calendar/sheets - create the API client per endpoint credentials instead of one per component **Original author:** @oscerd **Target branch:** `camel-4.22.x` (4.22.3) Straight cherry-pick of the squash commit 720358425bc7: the only conflict was the 4.24 upgrade-guide file, which does not exist on this branch and was dropped (the 4.22.3 note goes to the guide on `main` in a separate PR). The remaining diff is identical to the original PR. ### Original description The `google-mail`, `google-mail-stream`, `google-drive`, `google-calendar`, `google-calendar-stream`, `google-sheets` and `google-sheets-stream` components kept a single API client per component, created from the configuration of the first endpoint that asked for one and returned to every later endpoint of the component. Each endpoint now creates its own client from its own options on first use and keeps it for its lifetime; `GoogleMailComponent` keeps one client for its own configuration for the `update-message-labels` transformer; `google-drive` honours the endpoint-level `clientFactory`; `google-mail-stream` throws instead of returning a null client when no credentials are set. Tests with recording fake client factories per component. _Claude Code on behalf of oscerd_ 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
