JSF - Problema com sessão

Bom dia meus caros, estou com um problema estranho.

Desenvolvo uma aplicação JSF 2.0, Apache MyFaces, PrimeFaces 3.0…

Meu problema acontece quando abro uma sessão dentro de um MBean(LoginBean) @SessionScoped :

Forma 1: ( Recuperando do objeto request do External Context)


                 FacesContext facesContext = FacesContext.getCurrentInstance();

		 HttpServletRequest request = (HttpServletRequest) facesContext.getCurrentInstance().getExternalContext().getRequest();

		 HttpSession session = request.getSession(true);

Forma 2: ( Recuperando direto do ExternalContext)

             // Session Fixation Prevention
             HttpSession session = (HttpSession) externalContext.getSession(false);

             if (log.isDebugEnabled()) {
		     log.debug("Session before authentication request: " + session.getId());
	     }

             session.invalidate();
	     session = (HttpSession) externalContext.getSession(true);

             if (log.isDebugEnabled()) {
		    log.debug("Session after authentication request: " + session.getId());
	     }

Caso o login falhe, envio a mensagem assim:

 FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_ERROR,"Este usuário ja se encontra logado.", null);
 FacesContext.getCurrentInstance().addMessage(null, facesMessage);

Porém a mensagem não é mostrada quando uso a ‘forma 2’ e o nome de usuário que é uma propriedade da classe LoginBean que
aparece na home, ‘Usuário Logado: xxxxxxx’ também deixa de aparecer.

Alguém consegue me dizer a diferença de se criar sessão de usuário pela ‘forma 1’ e ‘forma 2’ e porque na ‘forma 2’ acontece o problema descrito?
Como resolvê-lo?

Abraço e obrigado pela atenção!

Existem diferenças sim…http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getSession(boolean)
Use getSession();