Olá,
Eu gostaria de saber como faço pra remover o CDI @SessionScope da sessão do usuario? ja tentei usando FacesContext, ja pesquisei e vi que o CDI esta no HttpSession.
Olá,
Eu gostaria de saber como faço pra remover o CDI @SessionScope da sessão do usuario? ja tentei usando FacesContext, ja pesquisei e vi que o CDI esta no HttpSession.
Olá Marcio, blz?
eu não entendi exatamente o que quis dizer, você quer matar a sessão do usuário?
o CDI é a injeção de dependências, ou você utiliza no seu projeto ou não utiliza.
Vc ta querendo matar um ManagedBean de sessão na mão? É isso?
Eu quero remover depois que eu injetar no ManagerBean(JSF). Ele fica na sessão @SessionScope(CDI) depois que eu submeto o formulario os campos ficam o valor. Entendeu? Tentei remover como se foce um MangerBean do JSF mas não funcinona tipo:
HttpSession session = request.getSession();
FacesContext.getCurrentInstance().getExternalContext()
.getSessionMap().remove("regiaoMB");// nome do meu CDI @SessionScope
Coloca como você declara seu MB?
Uma solução que eu vi aqui é criar um método de reset no seu MB e invocá-lo.
Tipo regiaoMB.reset();
Eu quero matar o manageBean do CDI(@SessionScope)
@SessionScope
@Named(name="regiaMB")
public class RegiaoMB implements Serializable{//ISSO QUE EU QUER MATAR O CDI
//aqui metodos
}
Achei o erro…
@SessionScope
@Named(name=“regiaMB”)
public class RegiaoMB
E olha agora…
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove(“regiaoMB”);
No codigo ta certo, porque eu digitei agora de cabeça ai errei. O CID não usa a interface FacesContext do JSF. Eu li que o CDI e criado como HttpSession, então para remove-lo seria algo tipo:
HttpSession session = HttpSession. //ai não sei mas o que fazer
porque voce nao utiliza viewscoped?