Not always, but usually it can be a sign that some elements of the cascading chain of the event do not correctly detect that they do not need to send the event. The classic illustration is the bean installer that generates a PropertyChangeEvent, even if the value has not changed.
While what you have done is filtering out these events, it does not affect what might be the main underlying problem.
The problem is that these โerrorsโ can combine to form infinite loops. Extending the above bean example, let's say you have a user interface that resets its editable value based on this bean field ... and resetting the user interface also causes the bean installer because proper authentication was not performed there or. The first time the value is edited, and an infinite loop will be executed.
These examples are obvious when they happen, but as the notification hierarchy becomes more complex, it becomes more difficult to keep track of these things, and they potentially occur in more intermittent times.
A good rule of thumb is to make each event generation component as conservative as possible. In the case of (heh), you receive notifications from components that you cannot control, and will forward your own events, then a filter like the one you installed may be the only way to prevent the spread of a potentially bigger problem than just performance.
source share