Я отправил тот же вопрос на форумах Wildfly пару дней назад, но пока не получил никаких ответов, надеюсь, кто-нибудь может помочь мне здесь :)
Я использую Wildfly 15.0.0.Final со встроенным фреймворком RestEasy. У меня есть 2 компонента внутри группы серверов, назовем их контроллер (EAR) и клиент (WAR) для простоты
Компонент client зависит от контроллера для запуска. Во время развертывания client внутри класса, помеченного @PostConstruct, он отправляет http-запрос на одну из конечных точек контроллера . Запрос выглядит так, как если бы он был выполнен, однако он не достигает конечной точки контроллера . Затем, после истечения времени ожидания для этого запроса, происходит несколько вещей:
- RestEasy выдает исключение из-за этого тайм-аута в запросе (логически)
- Wildfly помечает client.war как неиспользуемый по той же причине, что и выше
- Затем запускается запрос, и он достигает конечной точки контроллера .
Итак, в итоге ... Похоже, когда клиент развертывается, контроллер еще не доступен (или он еще не был развернут?) И не может принять любой запрос, однако Wildfly сохраняет этот запрос (в очереди или что-то в этом роде?) до тех пор, пока не завершится запуск (в противном случае он не выдаст 404?). Я прочитал в документации, что есть подсистема, называемая «Контроллер запросов», которая корректно выполняет выключение, но ничего не говорит о запуске сервера.
Я осознал эту проблему, потому что мы обновляем Wildfly 10 до 15, а в Wildfly 10 она работала нормально. Я, вероятно, что-то упустил в конфигурации, но не могу понять, что.
Может быть, способ развертывания компонентов изменился в Wildfly 15? В Wildfly 10 порядок развертывания может быть таким:
- развертывание контроллера
- контроллер развернут
- развертывание клиента
- клиент развернут
в то время как в Wildfly 15 это:
- развертывание контроллера
- развертывание клиента
- контроллер развернут
- клиент развернут
Кто-нибудь сталкивался с проблемой раньше? Есть идеи, как это можно исправить?
Я очень ценю любую помощь, которую вы можете оказать.