Hi Blake,
the CopyOnWriteArrayList solution sounds nice. I can imagine use cases where I add new listeners from another event listener for later use, though I never did so.
Ciao Frank
Am 24.07.2012 um 20:06 schrieb Blake Sullivan:
> Is this just for completeness, or are customers actually seeing this? If customers are seeing this, then whether we want to do this, depends on whether we think that their use case is valid. If the uses cases are valid (and these kinds of use cases often are), then the appropriate thing to do would be to use a CopyOnWriteArrayList as the implementation (even though we don't need the thread safety) and document the behavior as vaguely as we desire. The only question is whether we would guarantee that a listener added or removed would not be called during the current event delivery (which is what using a CopyOnWriteArrayList would give us) or whether we would want to be less definite and say that the listener might be called. That decision comes down to whether our desire for implementation flexibility outweighs the pain-in-the-ass factor of the listener author needing to deal with the case where the listener may be called.
>
> -- Blake Sullivan
>
> On 7/24/12 10:12 AM, Edward Burns wrote:
>> Class javax.faces.application.Application has several methods that allow
>> subscribing and un-subscribing for notification for System and
>> ComponentSystem events. The spec must clarify that these methods must
>> not be called during the handling of an event.
>>
>> ACTION: Is this ok with everyone?
>>
>> Ed
>>
>