ReactiveSagaKafkaTemplate
@RestController
@RequestMapping("/order")
@AllArgsConstructor
public class PlaceOrderSagaController {
private final ReactiveSagaKafkaTemplate<PlaceOrderAggregator, PlaceOrderTopic> placeOrderReactiveSagaKafkaTemplate;
@PostMapping
@ResponseStatus(HttpStatus.ACCEPTED)
public Mono<String> placeOrder() {
PlaceOrderAggregator aggregator = new PlaceOrderAggregator();
aggregator.setUsername("mafei");
aggregator.setTotal(200.00);
return this.placeOrderReactiveSagaKafkaTemplate.start(
aggregator,
PlaceOrderStepManager.class,
PlaceOrderTopic.DO_USER_VALIDATE
);
}
}
@RestController
@RequestMapping("/order")
@AllArgsConstructor
public class PlaceOrderSagaController {
private final ReactiveSagaKafkaTemplate<PlaceOrderAggregator, PlaceOrderTopic> placeOrderReactiveSagaKafkaTemplate;
@PostMapping
@ResponseStatus(HttpStatus.ACCEPTED)
public CompletableFuture<String> placeOrder() {
PlaceOrderAggregator aggregator = new PlaceOrderAggregator();
aggregator.setUsername("mafei");
aggregator.setTotal(200.00);
return this.placeOrderReactiveSagaKafkaTemplate.start(
aggregator,
PlaceOrderStepManager.class,
PlaceOrderTopic.DO_DO_SOME1
).toFuture();
}
}