]
Matěj Novotný resolved WFLY-11601.
----------------------------------
Resolution: Duplicate
Awesome, thanks for verification!
I'll close this issue as a duplicate of the WELD one.
WFLY will have the fix with update to Weld 3.1.2.Final.
Weld vs Undertow bootstrap: Race condition
------------------------------------------
Key: WFLY-11601
URL:
https://issues.jboss.org/browse/WFLY-11601
Project: WildFly
Issue Type: Bug
Components: CDI / Weld, Web (Undertow)
Affects Versions: 15.0.1.Final
Reporter: Stefan Gr
Assignee: Matěj Novotný
Priority: Major
Attachments: TestApp.zip, TestLib.zip, changes.diff, deploy-failed.txt,
deploy-mixed-success.txt, deploy-success.txt, test-app-1.0.0.war,
weld-core-impl-3.0.5.Final.jar, weld-core-impl-3.0.5.Final.jar
WFLY-9732 / WFLY-10784 moves the completion of WELD from the WeldStartService to
WeldStartCompetionService. This causes a race condition with the UndertowDeploymentService
which executes the servlet listeners for context-initialized which again fires
ApplicationScope-initialized events in CDI.
You can find more in
[
WELD-2557|https://issues.jboss.org/browse/WELD-2557?focusedCommentId=1368...].
In short: WeldStartCompletionService and UndertowDeploymentService pushes the logic to
the executor service. It may happen, that the logik of undertow runs before the weld
completion. Events fired in the servlet listeners won't find all event observers.
A possible solution would bo to set the WeldStartCompletionService as a dependency of the
UndertowDeploymentService