… e que eu tenha os dois listeners configurados. Eu sei que attributeAdded(…) é chamado, mas valueBound(…) também é? Se sim, existe uma ordem? E qual a diferença desses dois métodos, sendo que até o tipo do parâmetro é igual?
A diferença principal é onde usar as interfaces.
A HttpSessionBindingListener você implementa na própria classe do atributo que irá para a sessão, para que o próprio objeto seja notificado quando ele estiver sendo adicionado/removido dela.
Já a HttpSessionAttributeListener você implementa em outras classes pra monitorar de maneira mais geral o que está acontecendo com a lista de atributos da sessão.
A ordem eu não tenho certeza, mas chutaria que a HttpSessionBindingListener vai antes da HttpSessionAttributeListener. Porém, se não estiver escrito nada na especificação (não consultei para conferir), significa que cada conteiner pode implementar da forma que preferir.
Quanto a ordem os livros q eu estudei falam q os eventos são propagados na ordem que os listeners são declarados no DTD… Quanto a HttpSessionBindingListener não vi nada nao…
Bem, de qualquer forma, eu passei hoje no catzo da prova. Nada muito animador, 72% só… mas enfim. Caiu três ou quatro questões sobre listeners, nada muito cabuloso. Eu acho!..