in dynamic-router-eip/dynamic-router-eip-stack/main-router/src/main/java/org/apache/camel/example/springboot/numbers/mainrouter/service/NumberGeneratorService.java [49:69]
public void generateNumbers(int limit) {
String msg;
try {
LOG.info("Generating numbers from 1 to {}", limit);
Flux.range(1, limit)
.flatMap(n -> Mono.just(n)
.map(Object::toString)
.subscribeOn(Schedulers.boundedElastic())
.doOnNext(strN -> producerTemplate.sendBodyAndHeaders(ENDPOINT_DIRECT_COMMAND, strN,
Map.of(HEADER_COMMAND, COMMAND_PROCESS_NUMBER, HEADER_NUMBER, strN))))
.doFinally(x -> {
Message<MainRouterUtil.Events> message =
MessageBuilder.withPayload(GENERATE_NUMBERS_COMPLETE).build();
eventPublisher.publishEvent(new StateMachineEvent(this, message));
})
.subscribe();
} catch (Exception e) {
msg = String.format("Exception when trying to send number messages: %s", e.getMessage());
LOG.warn(msg, e);
}
}