Hello everyone,
I’m with a simple implementation testing a scheduler inside a saga.
`
@Saga
@Slf4j
public class OpenRestaurantSaga implements Serializable {
private static final Logger logger = LoggerFactory.getLogger(OpenRestaurantSaga.class);
String restaurantId;
@Autowired
@Setter
private transient CommandGateway commandGateway;
@Autowired
@Setter
private transient EventScheduler eventScheduler;
@StartSaga
@SagaEventHandler(associationProperty = "restaurantId")
public void handle(RestaurantToggledOnlineEvent event) {
log.info("Handling {} saga: {}", event.getClass().getSimpleName(), event);
restaurantId = event.getRestaurantId();
// commandGateway.send(new ToggleRestaurantOfflineCommand(restaurantId));
eventScheduler.schedule(
Instant.now().plusSeconds(10),
new RestaurantToggledOfflineEvent(event.getRestaurantId())
);
}
@SagaEventHandler(associationProperty = "restaurantId")
public void on(RestaurantToggledOfflineEvent event) {
log.info("Handling {} scheduled event: {}", event.getClass().getSimpleName(), event);
}
}
`
My RestaurantToggledOfflineEvent is never called.
Here is the source: https://github.com/lgertel/ifood-backend-connection-test/blob/master/monitor/src/main/java/br/com/grts/commandmodel/OpenRestaurantSaga.java
I’m missing something?
Thanks