Статьи

Couchbase Java SDK с Rx-Java

Отличительной особенностью Couchbase Java SDK является то, что он построен на основе превосходной библиотеки Rx-Java , это дает реактивный способ взаимодействия с экземпляром сервера Couchbase, который становится очень интуитивно понятным, когда вы освоите его.

Рассмотрим очень простой документ json, который я собираюсь хранить в Couchbase:

1
{"key":"1","value":"one"}

и класс Java для хранения этого json:

1
2
3
4
5
6
public class KeyVal {
    private String key;
    private String value;
 
    ...
}

Ниже приведен код для вставки экземпляра KeyVal в корзину Couchbase:

1
2
3
4
5
JsonObject jsonObject = JsonObject.empty().put("key", keyVal.getKey()).put("value", keyVal.getValue());
JsonDocument doc = JsonDocument.create(keyVal.getKey(), jsonObject);
Observable<JsonDocument> obs = bucket
                .async()
                .insert(doc);

Тип возвращаемого значения вставки — Observable , поэтому, если мне нужно отобразить возвращаемый тип обратно на KeyVal, я могу использовать расширенную поддержку отображения, предоставляемую классом Observable .

1
2
3
4
5
6
Observable<KeyVal> obs = bucket
                .async()
                .insert(doc)
                .map(jsonDoc ->
                    new KeyVal(jsonDoc.id(), jsonDoc.content().getString("value"))
                );

Другие API следуют аналогичному шаблону, например. чтобы получить сохраненный документ:

1
2
3
4
5
6
bucket
                .async()
                .get(id)
                .map(doc ->
                        new KeyVal(doc.id(),
                                doc.content().getString("value")));

Ресурсы

Ссылка: Couchbase Java SDK с Rx-Java от нашего партнера по JCG Биджу Кунджуммена из блога « все и вся» .