0

web.xmlで1つのリスナーを構成しています

<listener>
      <listener-class>com.Mylistener</listener-class>
</listener>

MyListener.java

次のコードがあります

 public class MyListener extends HttpSessionEventPublisher{

           myServiceInterface myService;

           @Override
           public void sessionCreated(HttpSessionEvent event) {     
              super.sessionCreated(event);
           }

           @Override
           public void sessionDestroyed(HttpSessionEvent event) {
             //Call a method from service layer which is communicating with DAO layer and then database.
    super.sessionDestroyed(event);
           }

    }

そのサービスにはすでに独自のマッピングがあり、正常に機能しています。

Mylistenerでサービスレイヤーを呼び出すために他にどのようなマッピングを行う必要がありますか?上記のコードではまったく機能しません

4

1 に答える 1

2
public class MyListener extends HttpSessionEventPublisher {
    @Override
    public void sessionDestroyed(final HttpSessionEvent event) {
        final ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(event.getSession().getServletContext());
        final MyServiceInterface service = ctx.getBean(MyServiceInterface.class);
        // use service
        super.sessionDestroyed(event);
    }
}    

動作するはずです(テストされていません)。

于 2012-12-12T09:33:50.413 に答える