Ignore missing STOMP decoder if session closed

Closes gh-24842
This commit is contained in:
Rossen Stoyanchev 2020-04-27 13:19:43 +01:00
parent 57f1e86a35
commit f425a993e7
1 changed files with 5 additions and 1 deletions

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2019 the original author or authors. * Copyright 2002-2020 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -240,6 +240,10 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
BufferingStompDecoder decoder = this.decoders.get(session.getId()); BufferingStompDecoder decoder = this.decoders.get(session.getId());
if (decoder == null) { if (decoder == null) {
if (!session.isOpen()) {
logger.trace("Dropped inbound WebSocket message due to closed session");
return;
}
throw new IllegalStateException("No decoder for session id '" + session.getId() + "'"); throw new IllegalStateException("No decoder for session id '" + session.getId() + "'");
} }