Injectar um objecto para um HttpSessionAttributeListener através Guice?
-
05-07-2019 - |
Pergunta
Configuração : Guice 1.0, Apache Tomcat 6.0
Atualmente, estou injetar manualmente objetos configurados em um módulo Guice, em meu servlet, usando este método:
public void init( ServletConfig config ) throws ServletException
{
super.init( config );
ServletContext sc = config.getServletContext();
Injector injector = (Injector) sc
.getAttribute( Constants.Guice.INJECTOR_APP_CONTEXT_KEY );
injector.injectMembers( this );
}
Como posso fazer o mesmo em uma HttpSessionAttributeListener (uma vez que não tem nenhum métodos de ciclo de vida)?
Solução
Event Listener é tudo sobre eventos de ciclo de vida. Por exemplo, attributeAdded()
é chamado logo após um atributo é adicionado a uma sessão, semelhante ao init () para Servlet.
Provavelmente faz mais sentido objeto injetar HttpSession. Nesse caso, você quer fazê-lo em HttpSessionListener.sessionCreated()
.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow