Я пытаюсь использовать салат вместо джедаев для его реактивного паттерна.Jedis может заблокировать мой vertx eventloop и вместо того, чтобы делать это блокирующей операцией, я бы предпочел, чтобы она была реактивной.
Я могу успешно получать элементы из redis с помощью салата, но я не понял, как обрабатывать исключения.В качестве примера -
// Attempt A: Is the error in otherstuff?
redis.get(cacheKey).handle((response, otherstuff) -> {
...
}).subscribe();
// Attempt B: Do I add a doOnError?
redis.get(cacheKey).handle((response, otherstuff) -> {
...
}).doOnError((error) -> {
logger.error(err);
}).subscribe();
// Attempt C: Do I add my callbacks to subscribe?
redis.get(cacheKey).subscribe((response) -> {
...
}, (err) -> {
logger.error(err);
});
Первое недоразумение, которое у меня возникает, - сколько способов я могу сделать одно и то же.Я нашел несколько способов получить значение, но я не нашел способа отловить ошибку.Ключ кеша, из которого он извлекает данные, не существует, я предполагаю, что где-нибудь будет выдана ошибка.
Как мне перехватить ошибки салата?