JSF listeners do, in fact participate in the JSF lifecycle. What part of the lifecycle the listener is invoked in depends on what kind of listener it is. However, most listeners post messages by throwing Exceptions, not by attempting to attach them to the FacesContext.

Customer surveys are for companies who didn't pay proper attention to begin with.

subject: How to add and update a message during a backing bean listener?