私はapplicationListener impl内でsessionIdを取得しようとしています。 session.getId()にNULLPointerExceptionをスローします。なぜそれが例外になったのだろうか。セッションは作成されますが、他の属性にはアクセスできません。以下は私のコードです。Spring ApplicationListenerでhttpSessionを挿入します。
@Component
public class MyEventListener implements ApplicationListener<MyEvent> {
@Autowired
HttpSession session;
@Override
public void onApplicationEvent(final QuotePricingEvent quoteEvent) {
LOGGER.error("Session id: {}, userid: {}", session.getId());
}
}
編集
@Override
public void onStartup(final ServletContext servletContext) throws ServletException {
super.onStartup(servletContext);
servletContext.addListener(RequestContextListener.class);
}
[mcve]と完全なスタックトレースを入力してください。 –