Hi! Again: You should NOT fire a CDI event in AfterBeanDiscovery. The reason is that the Contexts may not have been started at this stage.
E.g. you will not find any @SessionScoped contextual instance that way... Maybe you start explaining the use case you have. What is the problem you like to solve? LieGrue, strub On Monday, 14 April 2014, 16:33, Lars-Fredrik Smedberg <[email protected]> wrote: Hi again > > >Maybe I was not all clear in my question. My question is: > > >- In my extension class, when observering CDI container events when (when >observing what type of events) is it okay to fire an CDI event that will reach >all CDI managed beans observing the same event? > > >Regards >Lars-Fredrik Smedberg > > > > > > > >On Fri, Apr 11, 2014 at 3:39 PM, Lars-Fredrik Smedberg <[email protected]> >wrote: > >Hi Mark >> >> >>So I could fire a CDI event in the AfterDeploymentValidation method in my CDI >>Extension and @Observe the same type of event in my @ApplicationScoped bean? >>Is there any possibility that the CDI event will be fired and not seen by the >>bean in this case? I don't know the details here about when I can fire the >>events and who will see them if its done in a CDI Extension during startup. >> >> >>Thanks for the help so far >> >> >>Regards >>Lars-Fredrik >> >> >> >>On Fri, Apr 11, 2014 at 3:33 PM, Mark Struberg <[email protected]> wrote: >> >>simply via a CDI event probably? >>> >>>LieGrue, >>>strub >>> >>> >>>On Friday, 11 April 2014, 15:30, Lars-Fredrik Smedberg <[email protected]> >>>wrote: >>> >>>Hi Mark >>>> >>>> >>>>Thanks for the answer. Its a shared WAS environment so we will see what >>>>happens when we do a "hard" restart of all EARs in that WAS. >>>> >>>> >>>>If I have CDI extension that needs to communicate to the application all >>>>classes with a certain annotation, how would you suggest to do that >>>>without doing it the way I do it now, that is initialize a bean in a CDI >>>>extension in AfterDeploymentValidation? >>>> >>>> >>>>Regards >>>>Lars-Fredrik >>>> >>>> >>>> >>>>On Fri, Apr 11, 2014 at 2:19 PM, Mark Struberg <[email protected]> wrote: >>>> >>>>Nope, this MUST NOT happen. >>>>> >>>>>Otoh it's also not supported to initialize any bean in >>>>>AfterDeploymentValidation, as only _after_ that event all the contexts >>>>>will get started. >>>>> >>>>>It's by incident that the ApplicationContext is already started before in >>>>>OWB - but there is nothing in the spec which guarantees this! >>>>> >>>>>It might be some classloader issue as well. I'd open a PMR for it. >>>>> >>>>>LieGrue, >>>>>strub >>>>> >>>>> >>>>>On Friday, 11 April 2014, 10:19, Lars-Fredrik Smedberg >>>>><[email protected]> wrote: >>>>> >>>>>Hi! >>>>>> >>>>>> >>>>>>We have an @ApplicationScoped bean that is first created in a CDI >>>>>>Extension (in a method that @Observes AfterDeploymentValidation) . >>>>>>After creation the method calls an init-method (together with some data >>>>>>collected in a method @Observes ProcessAnnotatedType) on the >>>>>>@ApplicationScoped bean which internally sets a flag. This flag is >>>>>>checked by all business methods on the bean (a flag that marks the >>>>>>bean as initialized). >>>>>> >>>>>> >>>>>>There are no other method that explicitly sets the flag to false, the >>>>>>only time the flag is false is when the bean has been created the first >>>>>>time. >>>>>> >>>>>> >>>>>>We are running WAS 8.5.5.1 and see in our trace logs that after some time >>>>>>the flag is false which indicates that the @ApplicationScoped >>>>>>bean has been recreated. >>>>>> >>>>>> >>>>>>Questions: >>>>>> >>>>>> >>>>>>- Can @ApplicationScoped beans be recycled/reinitialized somehow? And if >>>>>>so under what circumstances? >>>>>> >>>>>> >>>>>>Regards >>>>>>Lars-Fredrik >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>-- >>>>>>Med vänlig hälsning / Best regards >>>>>> >>>>>>Lars-Fredrik Smedberg >>>>>> >>>>>>STATEMENT OF CONFIDENTIALITY: >>>>>>The information contained in this electronic message and any >>>>>>attachments to this message are intended for the exclusive use of the >>>>>>address(es) and may contain confidential or privileged information. If >>>>>>you are not the intended recipient, please notify Lars-Fredrik Smedberg >>>>>>immediately at [email protected], and destroy all copies of this >>>>>>message and any attachments. >>>>>> >>>>>> >>>> >>>> >>>> >>>>-- >>>>Med vänlig hälsning / Best regards >>>> >>>>Lars-Fredrik Smedberg >>>> >>>>STATEMENT OF CONFIDENTIALITY: >>>>The information contained in this electronic message and any >>>>attachments to this message are intended for the exclusive use of the >>>>address(es) and may contain confidential or privileged information. If >>>>you are not the intended recipient, please notify Lars-Fredrik Smedberg >>>>immediately at [email protected], and destroy all copies of this >>>>message and any attachments. >>>> >>>> >> >> >> >>-- >>Med vänlig hälsning / Best regards >> >>Lars-Fredrik Smedberg >> >>STATEMENT OF CONFIDENTIALITY: >>The information contained in this electronic message and any >>attachments to this message are intended for the exclusive use of the >>address(es) and may contain confidential or privileged information. If >>you are not the intended recipient, please notify Lars-Fredrik Smedberg >>immediately at [email protected], and destroy all copies of this >>message and any attachments. > > > >-- >Med vänlig hälsning / Best regards > >Lars-Fredrik Smedberg > >STATEMENT OF CONFIDENTIALITY: >The information contained in this electronic message and any >attachments to this message are intended for the exclusive use of the >address(es) and may contain confidential or privileged information. If >you are not the intended recipient, please notify Lars-Fredrik Smedberg >immediately at [email protected], and destroy all copies of this >message and any attachments. > >
