sse не отправляет все сообщения

Я использую spring boot 2.0.4 а также reactor-netty а также reactor-rabbitmq-1.0.0.M2 Для реализации простого сервера SSE.

По какой-то причине, как клиент, я не получаю все отправленные сообщения.

Пример реализации:

@RestController
@RequestMapping("event")
@Slf4j
@CrossOrigin(origins = "*")
public class ExampleController {
    EventsService eventsService
    ...
    @GetMapping(value = "/{id}", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
    public Flux<ExampleEvent> exampleEvent((@PathVariable("id") int id) {

          return eventsService.dispatchEvents().log();
    }
}

куда EventsService является:

@Service
@Slf4j
public class EventsService {
     //reactor.rabbitmq.Receiver
     private final Receiver receiver;
     private ObjectMapper objectMapper

     public Flux<ExampleEvent> dispatchEvents() {

         return this.receiver.consumeAutoAck(queue)
            .flatMap(msg -> {
                final ExampleEvent event = objectMapper.readValue(msg.getBody(), ExampleEvent.class);

                if(event != null) {
                    return Mono.just(event);
                }
                return Mono.error(new RuntimeException("Null value!"));
           )
    }

Receiver Bean

@Bean
public Receiver receiver(ConnectionFactory connectionFactory){
    ReceiverOptions options = new ReceiverOptions();
    options.connectionFactory(connectionFactory);

    return ReactorRabbitMq.createReceiver(options);
}

куда ConnectionFactory установлен для использования Nio()

Теперь мои журналы полны reactor.Flux.OnAssembly.5 : | onNext Объекты событий Но по какой-то причине, как в Chrome при вставке URL, так и в Моем клиенте (Angular) я не получаю большинство сообщений (но получаю некоторые, что является странной частью).

***** ОБНОВИТЬ ******

Каждые несколько сообщений я вижу логи (даже когда не отключаюсь)

2018-08-06 18: 44: 33.315 INFO 22420 --- [ctor-http-nio-4] реактор. Флюс. На сборке.23: | cancel() 2018-08-06 18:44:33.315 INFO 22420 --- [ctor-http-nio-4] реактор.rabbitmq.Receiver: отмена потребителя amq.ctag-lkjfsdfsdlfkdsjlk, потребляющего из frame-update.queue 2018-08-06 18:44:33.357 ОШИБКА 22420 --- [ctor-http-nio-4] oswsadapter.HttpWebHandlerAdapter: необработанный сбой: установленное соединение было прервано программным обеспечением на вашем хост-компьютере, ответ уже установлен (status=null)`

0 ответов

Другие вопросы по тегам