<div dir="ltr"><div dir="ltr">I apologize if this not the correct forum to post this question, but I tried looking at the Weld forums and everything appears dormant (even the link to the user&#39;s forum is 404 on the Weld site).  So I suspected this would be the second best place to ask for some clarity.<div><br></div><div>I&#39;m trying to understand the sequencing of CDI events vs bean initialization.  I&#39;m currently concentrating on CDI 1.2/Weld 2.3.5, but figure that this information will be applicable to CDI2.0 as well.   I&#39;ve tried finding documentation online and posting on StackOverflow and neither have produced any results.  Specifically, I am confused about the sequencing of CDI events vs when/how bean methods are called.  Given what I have read, the following are the events that are triggered by the CDI container:</div><div><ul><li>BeforeBeanDiscovery<br></li><li>ProcessAnnotatedType and ProcessSyntheticAnnotatedType<br></li><li>AfterTypeDiscovery<br></li><li>ProcessInjectionTarget and ProcessProducer<br></li><li>ProcessInjectionPoint<br></li><li>ProcessBeanAttributes<br></li><li>ProcessBean, ProcessManagedBean, ProcessSessionBean, ProcessProducerMethod and ProcessProducerField<br></li><li>ProcessObserverMethod<br></li><li>AfterBeanDiscovery<br></li><li>AfterDeploymentValidation<br></li><li>BeforeShutdown<br></li></ul><div>Given these events, when are the events which produce @Initialized(ApplicationScoped.class) and @Destroyer(ApplicationScoped.class) triggered?  In which part of the lifecycle?  Are they triggered in the @PostConstruct equivalent of the Scoping bean (what is the bean backing the ApplicationScope?  I cannot find the implementation in the Weld core - am I even looking in the right place?)?</div></div><div><br></div><div>Which brings me to the next question - in which stage of the container setup are the @PostConstruct methods on the beans called?  Are they called in the `AfterDeploymentValidation` phase?  Or is it somewhat asynchronous - in that the @PostConstruct of an ApplicationScoped bean will be called only when initialized; and that could happen during any of the stages?  From what I understand, the BeanManager.getReference() is not allowed prior to the AfterDeploymentValidation event being fired, which to me would imply that beans can only be instantiated (and therefore @PostConstruct&#39;ed) after the `AfterDeploymentValidation` phase. </div><div><br></div><div>Can anyone direct me towards some clarification of these points?  I&#39;ve tried reading the CDI 1.2 user guide (<a href="https://docs.jboss.org/cdi/learn/userguide/CDI-user-guide.html">https://docs.jboss.org/cdi/learn/userguide/CDI-user-guide.html</a>), but that hasn&#39;t provided the details I am looking for.  Additionally, I&#39;ve tried reading through the Weld code but can&#39;t find the answers I&#39;m looking for.</div><div><br></div><div>Thanks,</div><div><br>Eric</div></div></div>