Often when using a UI component of JSF or one of it's 3rd party component libraries, I have a hard time finding the documentation that explains where in the lifecycle the attributes of these tags will kick in.
Let's say I want to use
<h:selectOneMenu valueChangeListener="#{myBean.myMethod1}" ... />
or
<h:commandButton action="#{myBean.myMethod2}" actionListener="#{myBean.myMethod3}" ... />
Where do I find information on where in the JSF lifecycle the valueChangeListener, the action or the actionListener is called, respectively?
Please understand that these are only examples. I'm trying to avoid coming to StackOverflow for each attribute of each component when I don't understand when exactly its method will be called.
If such a documentation does not exist (??), what debugging techniques would you suggest using to figure this out on a case-by-case basis?