openwebbeans-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Struberg <strub...@yahoo.de>
Subject Re: Question on @ApplicationScoped beans
Date Mon, 14 Apr 2014 15:23:08 GMT
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 <itsmeden@gmail.com> 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 <itsmeden@gmail.com> 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 <struberg@yahoo.de> wrote:
>>
>>simply via a CDI event probably?
>>>
>>>LieGrue,
>>>strub
>>>
>>>
>>>On Friday, 11 April 2014, 15:30, Lars-Fredrik Smedberg <itsmeden@gmail.com>
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 <struberg@yahoo.de> 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 <itsmeden@gmail.com>
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 itsmeden@gmail.com, 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 itsmeden@gmail.com, 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 itsmeden@gmail.com, 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 itsmeden@gmail.com, and destroy all copies of this 
>message and any attachments. 
>
>
Mime
View raw message