Skip to content

Short examples

Richard Hightower edited this page Sep 12, 2016 · 18 revisions

TodoRepo interface

public interface TodoRepo {
    Promise<List<Todo>> loadTodos();
    ...
}

Using TodoRepo

todoRep.loadTodos()
        .then(todos -> {
            logger.info("list todos");
            returnPromise.resolve(todos);
        })
        .catchError(error -> {
            logger.error("Unable to add todo to repo", error);
            returnPromise.reject("Unable to add todo to repo");
        })
        .invoke();

Scheduling a task with the reactor

reactor.runTaskAfter(Duration.ofSeconds(60), () -> {
    logger.info("Registering health check and recovery for repo");
    reactor.addRepeatingTask(Duration.ofSeconds(30), this::circuitBreakerTest);
});