Remover mensagem emitida pelo TemplateMessage do JBoss Seam

Pessoal, estou emitindo uma mensagem de erro pelo TemplateMessage do Jboss Seam, usa o addMessages do FacesContext do JSF…

A mensagem de erro aparece corretamente quando um erro ocorre, o problema é que quando o processo é executado com sucesso, a mensagem de erro continua na tela…

Código do Bean:

[code]public StreamedContent getCsvFile() {
Map<String, String> map = new HashMap<String, String>();

    PddMessageUtil.put(map, "calculo.subsistema");
    PddMessageUtil.put(map, "calculo.saldo_carteira");
    PddMessageUtil.put(map, "calculo.saldo_prejuizo");

    CSVFilter filter = new CSVFilter();
    filter.setPeriodo(calculo.getDataBase());
    try {
        String file = csvService.gerarCsv(filter, map);
        return new DefaultStreamedContent(FileUtils.getInputStream(new File(file)), "text/csv", "arquivo.csv");
    } catch (Exception e) {
        LOG.error("Erro ao gerar CSV", e);
        error("global.msg.erro_generating_file");
    }
    return null;

}[/code]

Código do XHTML:

<p:commandLink id="downloadLink" ajax="false"
							immediate="true" 
							onclick="PrimeFaces.monitorDownload(startDialog, stopDialog);">
							<p:fileDownload value="#{calculoUI.csvFile}" />
							<h:graphicImage url="#{resource['images/csv.png']}" />
						</p:commandLink>

Tentativas:

  • Emitir outra mensagem de sucesso, para substituir. Resultado: não funcionou, a mensagem nova ficou no pool, ela somente aparece quando outra requisição é feita, como exemplo, sair da tela
  • Tentei limpar as mensagens, com o método clear() do org.jboss.seam.international.status.Messages
  • Tentei colocando update=":form", update="@all", update=“msg”
  • Tentei outras coisinhas também como ajax=“true”

Uma coisa que notei é que no final do link, quando clico no commandLink, ele adiciona um “#”, ou seja, com esse href, ele não faz nenhum requestDispatcher, talvez por falta dessa requisicao que ele não limpa a mensagem

  • Tentei trocar o commandLink para commandButton para ele fazer alguma requisicao, mas o resultado foi o mesmo…

Alguem consegue pensar em outras coisas?
Eu conseguindo limpar a message, estaria bom já…

EDIT:

Meu messages é um simples p:messages do primefaces:

<p:messages id="msg" autoUpdate="true" globalOnly="true" />