Jsf - Mensagens globais

Estou com um pequeno problema. Em uma mesma página jsf quero ter tanto mensagens específicas quanto globais.
Para que as mensagens para componentes específicos não se repitam no elemento <h:messages /> usei o atributo globalOnly=true. Mas quando eu uso o globalOnly=“true” nenhuma mensagem global aparece, se eu uso globalOnly=“false” todas as mensagens (globais e específicas para os componentes) aparecem.

Abaixo segue a página:

&lt;f&#58;view&gt;
   &lt;h&#58;form&gt;   
   		&lt;h&#58;messages globalOnly=&quot;true&quot; /&gt;
   		&lt;br&gt;
        UserID&#58; &lt;h&#58;inputText id=&quot;login&quot; value=&quot;#&#123;loginController.login&#125;&quot; required=&quot;true&quot; /&gt;
        &lt;font color=&quot;#FF0000&quot;&gt;
			&lt;h&#58;message for=&quot;login&quot;/&gt;
		&lt;/font&gt;
        &lt;br/&gt;
        Password&#58; &lt;h&#58;inputSecret id=&quot;password&quot; value=&quot;#&#123;loginController.password&#125;&quot; required=&quot;true&quot; /&gt;
        &lt;font color=&quot;#FF0000&quot;&gt;
			&lt;h&#58;message for=&quot;password&quot;/&gt;
		&lt;/font&gt;
    	&lt;br/&gt;
    	
    	&lt;br/&gt;
    	&lt;h&#58;commandButton value=&quot;Login&quot; action=&quot;#&#123;loginController.doLogin&#125;&quot;/&gt;
    	
	&lt;/h&#58;form&gt;

O código que adiciona a mensagem global:

FacesContext ctx = FacesContext.getCurrentInstance&#40;&#41;;
FacesMessage message = new FacesMessage&#40;FacesMessage.SEVERITY_ERROR ,&quot;Login/Senha inválidos.&quot;,&quot;Login/Senha inválidos.&quot;&#41;;
ctx.addMessage&#40;&quot;loginInvalido&quot;, message&#41;;

Mas ao invés dessa mensagem aparecer na tag <h:messages /> eu recebo um erro no log do tomcat:

08/08/2007 21&#58;22&#58;15 com.sun.faces.lifecycle.RenderResponsePhase execute
INFO&#58; WARNING&#58; FacesMessage&#40;s&#41; have been enqueued, but may not have been displayed.
sourceId=loginInvalido&#91;severity=&#40;ERROR 2&#41;, summary=&#40;Login/Senha inválidos.&#41;, detail=&#40;Login/Senha inválidos.&#41;&#93;

Estou totalmente perdido… alguêm pode me ajudar a esclarecer o que está acontecendo?

grato,
Filipe.

Quando eu faço assim ele adiciona a mensagem global:
Talvez seja o seu pemeiro parametro do addMessage.

FacesContext.getCurrentInstance&#40;&#41;.addMessage&#40;null, new FacesMessage&#40;FacesMessage.SEVERITY_INFO, &quot;Requisição cadastrada com sucesso&quot;, null&#41;&#41;;

Beba direto da fonte:
http://java.sun.com/javaee/javaserverfaces/1.2_MR1/docs/api/index.html

[quote]addMessage

public abstract void addMessage(java.lang.String clientId,
FacesMessage message)

Append a FacesMessage to the set of messages associated with the specified client identifier, if clientId is not null. If clientId is null, this FacesMessage is assumed to not be associated with any specific component instance.

Parameters:
    clientId - The client identifier with which this message is associated (if any)
    message - The message to be appended 
Throws:
    java.lang.IllegalStateException - if this method is called after this instance has been released 
    java.lang.NullPointerException - if message is null

[/quote]

Valeu pela dica,
funcionou perfeito passando o primeiro parâmentro como null.

:grin:

Filipe.