Когда игрок впервые получает соединение, вызывается .subscribe(Long playerId) и, следовательно, .configure(Subscription sub).
Вот мой фрагмент кода:
Код: Выделить всё
private static final ConcurrentHashMap SUBSCRIPTIONS = new ConcurrentHashMap();
public Flux> configure(Subscription sub) {
Sinks.Many> sink = Sinks.many().unicast().onBackpressureBuffer();
public Subscription(Long playerId) {
this.playerId = playerId;
}
@Override
public String toString() {
return String.format("%s for Player %s", id, playerId);
}
}
- В этом случае возможно ли, чтобы .doFinally каким-то образом выполнялся перед .doOnSubscribe? Если это возможно, то это создаст состояние гонки, где одним из результатов (нежелательного) будет экземпляр подписки, не удаляемый из ПОДПИСКИ.
- Если это возможно, каковы мои подходы к исправлению?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ossible-if
Мобильная версия