Evento antes de matar a sessão

Olá amigos.

Estou com um problema:

Tenho um managedBean com o scopo de ApplicationScoped.
Toda vez que eu terminar uma sessão ou acontecer um timeout, preciso atualizar um atributo nesse bean.

Tentei implementar um listener mas não estou conseguindo chamar minha bean para setar o atributo.

Alguem pode me ajudar?

Você não pode mostrar um pouco do seu código pra gente analisar?

Olá

Praticamente tenho um bean de scopo de aplicação

@ManagedBean(name = "aplicacaoBean")
@ApplicationScoped
public class AplicacaoController {
	
	private String atributo = null;

	public String getAtributo() {
		return atributo;
	}
        
        public void setAtributo(String atributo) {
                this.atributo = atributo;
        }
}

E um listener que implementa HttpSessionListener

public class SessionListener implements HttpSessionListener {

	@Override
	public void sessionCreated(HttpSessionEvent se) {
	
	}

	@Override
	public void sessionDestroyed(HttpSessionEvent se) {
		//aqui preciso chamar meu managedBean para atualizar um atributo...
                se.getSession().invalidate();
		System.out.println("Sessão encerrada!");
	}
	
}

Antes de uma sessão ser morta, que o metodo sessionDestroyed(HttpSessionEvent se) acesse meu bean de scopo aplicacao pra atualizar um atributo da mesma.
Mas não estou conseguindo chamar o managedBean dentro desse método.

Podem me ajudar?

Tem como injetar um managedBean, no meu caso o de scopo aplicação em um HttpSessionlistener?

Tem, se os dois objetos estiverem no mesmo contexto. Então acho que você deve declarar seu HttpSessionListener como um managed bean, também. Aí poderá injetar outro managed bean nele.

Ok, vou fazer um teste e posto o resultado.

Obrigado

Cara, aparentemente funcionou.
Vou fazer testes.

Obrigado