public final class WebSocketRegistryListener implements ApplicationListener<ApplicationEvent> {
@Override
public void onApplicationEvent(ApplicationEvent event) {
if(event instanceof SessionDisconnectEvent) {
SessionDisconnectEvent e = (SessionDisconnectEvent) event;
Map<String, Object> sessionAttributes = SimpMessageHeaderAccessor.getSessionAttributes(e.getMessage().getHeaders());
}
}
}
e.getMessage().getHeaders(); 这并不存在。怎么写才对?
首先,请分享StackTrace关于此事的信息。
如果您打算只处理SessionDisconnectEvent
,则没有理由拥有这样的通用ApplicationListener<ApplicationEvent>
。您可以使用最后一个作为ApplicationListener
的泛型类型。
请记住,自春季4.1.1
以来,SessionDisconnectEvent extends AbstractSubProtocolEvent
getMessage()
可用