actionListener não funciona com url e '?faces-redirect=true'

Pessoal, uso a tag < p:layoutUnit> com os menus da minha aplicação, quando clico em sair teria que atualizar a tela principal.xhtml que fica em outro layout, o que não acontece, quando uso "
url=“pages/principal.xhtml/pages/principal.xhtml?faces-redirect=true” " o metodo sair( ) no BEAN não e chamado, assim o funcionário continua logado e não recebe null.

<p:menuitem value="Sair" actionListener="#{autenticacaoBean.sair}" 
          update=":paneLogin" icon="ui-icon-power" url="/pages/principal.xhtml?faces-redirect=true"/>  </p:submenu>`

Quando uso sem URL no menu chama o metodo normalmente mas não atualiza a tela principal’

public String sair() {
        funcionarioLogado = null;
        
        return "pages/principal.xhtml?faces-redirect=true";
}

Resumindo; quando clicar em sair tem que redirecionar para a tela principal, mas com as mesnsagem de “saida do sistema” controlado por redirect , quando clico em sair a msg abaixo não aparece.
<p:link rendered="#{autenticacaoBean.funcionarioLogado.senha == null}" outcome="/pages/autenticacao.xhtml" styleClass="link" style="font-size: 12px; font-style: italic; color: blue" value="Para entrar novamente, clique aqui"> </p:link>

Pessoal, encontrei a solução numa video aula do professor Sergio Roberto Delfino no youtube, neste caso quando redireciona a pagina a maneira adequada é usando o o action="" e quando na mesma pagina o actionListener="".
<p:menuitem value="Sair" action="#{autenticacaoBean.sair}" /> </p:submenu>