public void unsubscribe(StreamBlockingQueue queue) {
String operationId = queue.getOperationId();
List<StreamBlockingQueue> blockingQueues = subscriptions.get(operationId);
blockingQueues.remove(queue);
// unsubscribe from the stream if no more queue
if (blockingQueues.isEmpty()) {
RequestWrapperDTO listSubscriptions =
new RequestWrapperDTO.Builder<>()
.method("UNSUBSCRIBE")
.params(Collections.singletonList(operationId))
.build();
this.send(listSubscriptions);
}
}
There was no ID in the unsubscribe construction, causing push notifications message : {"result":null,"id":null} onWebSocketText Then parsing this information will result in the following error JsonElement id = obj.get("id"); Analysis result appears id = "null" (JsonNull.INSTANCE )Judgment if (id != null) Through Execute RequestWrapperDTO requestWrapperDTO = pendingRequest.get(id.getAsString());
com.binance.connector.client.common.ApiException: Message: java.lang.UnsupportedOperationException: JsonNull
public void unsubscribe(StreamBlockingQueue queue) {
String operationId = queue.getOperationId();
List<StreamBlockingQueue> blockingQueues = subscriptions.get(operationId);
blockingQueues.remove(queue);
There was no ID in the unsubscribe construction, causing push notifications message : {"result":null,"id":null} onWebSocketText Then parsing this information will result in the following error JsonElement id = obj.get("id"); Analysis result appears id = "null" (JsonNull.INSTANCE )Judgment if (id != null) Through Execute RequestWrapperDTO requestWrapperDTO = pendingRequest.get(id.getAsString());
com.binance.connector.client.common.ApiException: Message: java.lang.UnsupportedOperationException: JsonNull