Как проверить, что клиент зарегистрировался на сервере eureka перед инициализацией бина - PullRequest
0 голосов
/ 12 декабря 2018

Я реализовал конфигурацию мультитенантных источников данных для моего клиента с глобальными базами данных db и origin.Я столкнулся с проблемой во время инициализации контекста моего клиентского сервиса из-за следующего сценария

  • Глобальный клиентский сервис для получения сведений о базе данных источника.
  • Исходные клиенты подключаются к глобальному клиенту для инициализации источника данных клиента веснойИнициализация контекста.

Во время инициализации контекста исходных клиентов, если мой клиентский компонент MultiTenantConnectionProviderImpl инициализируется до того, как мой клиент зарегистрировался, я получаю Global-Client READ TIMEOUT проблему .. и это потому, что мой исходный клиентеще не зарегистрирован в eureka.

Чтобы это исправить, я добавил @DependsOn("eurekaInstanceConfigBean") в свой bean-компонент конфигурации MultiTenantConnectionProviderImpl.так что я хочу, чтобы мои первоначальные клиенты регистрировались раньше, мой компонент-арендатор инициализируется, чтобы избежать READ TIME OUT ISSUE

Но все же периодически возникает проблема READ TIME OUT, я вижу, что регистрация клиента занимает много времени, а пульс является асинхронным, а компонент-арендаторпытается подключиться к глобальному клиенту для данных клиента до того, как клиент успешно зарегистрируется ...

Есть ли способ, чтобы я мог проверить, что мой клиент был успешно зарегистрирован, прежде чем я смогу инициализировать бин? ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...