Skip to content

Commit 3f9d062

Browse files
fix: exception on listen when closed
1 parent a5d27ac commit 3f9d062

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

plugin/src/main/java/studio/o7/octopus/plugin/OctopusImpl.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,22 +58,27 @@ public void registerListener(@NonNull Listener listener) {
5858
var observer = stub.listen(new StreamObserver<>() {
5959
@Override
6060
public void onNext(EventCall value) {
61+
var request = requestRef.get();
62+
if (request == null) return;
63+
6164
listener.onCall(value.getObject());
6265

6366
var msg = ListenMessage.newBuilder()
6467
.setCallback(value)
6568
.build();
6669

67-
requestRef.get().onNext(msg);
70+
request.onNext(msg);
6871
}
6972

7073
@Override
7174
public void onError(Throwable t) {
75+
requestRef.set(null);
7276
logger.error("Cannot call event on listener {} with key-pattern {}", listener.getListenerUniqueId(), listener.getKeyPattern(), t);
7377
}
7478

7579
@Override
7680
public void onCompleted() {
81+
requestRef.set(null);
7782
listeners.remove(listener.getListenerUniqueId());
7883
}
7984
});

0 commit comments

Comments
 (0)