[cdi-dev] Scoped CDI Events?

Martin Kouba mkouba at redhat.com
Wed Aug 29 06:36:32 EDT 2012


Hi Jens,

that's ok. The spec does not require immutable event objects and your use cases are pretty legal. It's only my suggestion to avoid unexpected results ;-).

Martin

Dne 29.8.2012 12:30, Jens Schumann napsal(a):
> Hi Martin,
>
> If possible I would like to avoid immutable event objects, even though the
> order of observer methods is currently undefined. I have a couple of use
> cases where my event object will be modified by event observers. Two
> examples:
>
> - Execute secondary business logic after an entity was created/updated and
> add details to the entity. Here we might have ordering issues. However we
> did not encounter issues so far. We fire @Created or @Updated Entity
> events, where my payload is the entity itself. Example: Send welcome
> e-mail after a new customer was created. The primary business logic will
> create the customer and fire an @Created Customer event. A
> WelcomeMailObserver observes @Created Customer events, sends the e-mail
> and links it to the new customer.
> - Collect application wide information, e.g. statistics or health status
> information. My observers simply add local statistics or local health
> status details to the event object itself.
>
>
>
> Jens
>
> Am 29.08.12 12:14 schrieb "Martin Kouba" unter <mkouba at redhat.com>:
>
>> Hi Adam, Arne,
>>
>> The built-in Event bean is not stateless, it's @Dependent. The event
>> payload - the event object - is really not managed and thus not scoped
>> (and should not be IMHO). I also think the event object should be
>> immutable since the order in which observer methods are called is not
>> defined...
>>
>> Martin
>>
>>
>> Dne 29.8.2012 12:06, Arne Limburg napsal(a):
>>> Hi Adam,
>>>
>>>
>>> Are you talking about the injected Event object or about the payload?
>>> The Event object is stateless so the scope does not matter.
>>> And the payload is not managed at all.
>>> So, I'm afraid, I can't see your issue here?
>>> Could you provide a use case for a scoped event?
>>>
>>> Cheers,
>>> Arne
>>>
>>> Am 29.08.12 11:49 schrieb "Adam Bien" unter <abien at adam-bien.com>:
>>>
>>>> Hi *,
>>>>
>>>> I didn't found in the CDI 1.0 spec a mention of the scope of CDI
>>>> events.
>>>> There is also no mention of scopes in the Observer Resolution section.
>>>>
>>>> Are CDI events scoped?
>>>>
>>>> Does observer resolution depend on the scope of the injected Event
>>>> instance?
>>>>
>>>> Should we refine/clarify that in the CDI 1.1 spec?
>>>>
>>>> I didn't found an explicit mail in the archives either,
>>>>
>>>> thanks and sorry in case the issue is already resolved,
>>>>
>>>> adam
>>>> _______________________________________________
>>>> cdi-dev mailing list
>>>> cdi-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>
>>>
>>> _______________________________________________
>>> cdi-dev mailing list
>>> cdi-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>
>>


More information about the cdi-dev mailing list