diff --git a/graphql-kickstart-spring-webflux/src/main/java/graphql/kickstart/spring/webflux/ReactiveWebSocketSubscriptionSession.java b/graphql-kickstart-spring-webflux/src/main/java/graphql/kickstart/spring/webflux/ReactiveWebSocketSubscriptionSession.java index ba97408d..aab7b8eb 100644 --- a/graphql-kickstart-spring-webflux/src/main/java/graphql/kickstart/spring/webflux/ReactiveWebSocketSubscriptionSession.java +++ b/graphql-kickstart-spring-webflux/src/main/java/graphql/kickstart/spring/webflux/ReactiveWebSocketSubscriptionSession.java @@ -8,6 +8,7 @@ public class ReactiveWebSocketSubscriptionSession extends DefaultSubscriptionSession { private final WebSocketSession webSocketSession; + private boolean opened = true; public ReactiveWebSocketSubscriptionSession( GraphQLSubscriptionMapper mapper, WebSocketSession webSocketSession) { @@ -17,7 +18,7 @@ public ReactiveWebSocketSubscriptionSession( @Override public boolean isOpen() { - return true; + return opened; } @Override @@ -34,4 +35,10 @@ public String getId() { public WebSocketSession unwrap() { return webSocketSession; } + + @Override + public void close(final String reason) { + super.close(reason); + this.opened = false; + } }