Я реализовал конфигурацию мультитенантных источников данных для моего клиента с глобальными базами данных db и origin.Я столкнулся с проблемой во время инициализации контекста моего клиентского сервиса из-за следующего сценария
- Глобальный клиентский сервис для получения сведений о базе данных источника.
- Исходные клиенты подключаются к глобальному клиенту для инициализации источника данных клиента веснойИнициализация контекста.
Во время инициализации контекста исходных клиентов, если мой клиентский компонент MultiTenantConnectionProviderImpl
инициализируется до того, как мой клиент зарегистрировался, я получаю Global-Client READ TIMEOUT
проблему .. и это потому, что мой исходный клиентеще не зарегистрирован в eureka.
Чтобы это исправить, я добавил @DependsOn("eurekaInstanceConfigBean")
в свой bean-компонент конфигурации MultiTenantConnectionProviderImpl
.так что я хочу, чтобы мои первоначальные клиенты регистрировались раньше, мой компонент-арендатор инициализируется, чтобы избежать READ TIME OUT ISSUE
Но все же периодически возникает проблема READ TIME OUT
, я вижу, что регистрация клиента занимает много времени, а пульс является асинхронным, а компонент-арендаторпытается подключиться к глобальному клиенту для данных клиента до того, как клиент успешно зарегистрируется ...
Есть ли способ, чтобы я мог проверить, что мой клиент был успешно зарегистрирован, прежде чем я смогу инициализировать бин? ...