JavaEE7で、リダイレクトを行う前にFacesMessageに値を詰めても、リダイレクトした先で値が消失してしまいます。消失させずに、保持しておくためにはどうしたら良いでしょうか?

リダイレクトのコード

FacesMessage msg = new FacesMessage(...);
FacesContext.getCurrentInstance().addMessage(msg);
ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
ec.getFlash().setKeepMessages(true);
ec.redirect(ec.getRequestContextPath() + "/something.xhtml?faces-redirect=true");

something.xhtmlのコード

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
>
    <h:body>
        <h:messages globalOnly="true" /><!-- リダイレクト前に作成したFacesMessageが表示されない -->
    </h:body>
</html>

追記の情報
Glashfish 4.1.1 では、上記のコードでうまくいきました。
Web Sphere Libarty Profile 8.5.9 では、上記のコードでうまくいきませんでした。
JavaEEの内部実装による差異ということから、MyFacesとMojarraの差でしょうか?(原因は現時点で特定できていません)