public void sendRequest(@NotNull final StreamingRequest request)
clientIndex вычисляется следующим образом
final int clientIndex = request.hashCode() % this.wsClients.length;
таким образом вероятность успешного unsubscribe стремится к нулю, т. к. hashCode экземпляров класса OrderbookSubscribeRequest и OrderbookUnsubscribeRequest (как пример) различен и следовательно отправятся через разные клиенты.
Предлагаю добавить к функции sendRequest параметр clientIndex, либо вместо использования hashCode экземпляра класса StreamingRequest использовать hash от результата функции onOffPairId().
В функции
public void sendRequest(@NotNull final StreamingRequest request)
clientIndex вычисляется следующим образом
final int clientIndex = request.hashCode() % this.wsClients.length;
таким образом вероятность успешного unsubscribe стремится к нулю, т. к. hashCode экземпляров класса OrderbookSubscribeRequest и OrderbookUnsubscribeRequest (как пример) различен и следовательно отправятся через разные клиенты.
Предлагаю добавить к функции sendRequest параметр clientIndex, либо вместо использования hashCode экземпляра класса StreamingRequest использовать hash от результата функции onOffPairId().