Перейти к основному содержимому

72 записи с тегом "Reactive"

Посмотреть все теги

· 4 мин. чтения

1. Введение

R2DBC (Reactive Relational Database Connectivity) — это проект, представленный Pivotal во время Spring One Platform 2018. Он предназначен для создания реактивного API для баз данных SQL.

Другими словами, эта попытка создает соединение с базой данных с использованием полностью неблокирующих драйверов.

В этом руководстве мы рассмотрим пример приложения, использующего Spring Data R2BDC. Руководство по более низкоуровневому API R2DBC можно найти в нашей предыдущей статье .

2. Наш первый проект Spring Data R2DBC

Начнем с того, что проект R2DBC появился совсем недавно. На данный момент только PostGres, MSSQL и H2 имеют драйверы R2DBC. Кроме того, мы не можем использовать с ним все функции Spring Boot. Поэтому есть некоторые шаги, которые нам нужно будет добавить вручную. Но мы можем использовать такие проекты, как Spring Data , чтобы помочь нам.

· 8 мин. чтения

1. Введение

Akka — это библиотека с открытым исходным кодом, которая помогает легко разрабатывать параллельные и распределенные приложения с использованием Java или Scala, используя акторную модель.

В этом уроке мы представим основные функции, такие как определение актеров, как они общаются и как мы можем их убить . В заключительных заметках мы также отметим некоторые рекомендации по работе с Akka.

2. Актерская модель

Актерская модель не нова для компьютерного сообщества. Впервые он был представлен Карлом Эдди Хьюиттом в 1973 году как теоретическая модель для обработки параллельных вычислений.

· 2 мин. чтения

1. Обзор

В нашем введении в Project Reactor мы узнали о Mono<T>, который является публикатором экземпляра типа T .

В этом кратком руководстве мы покажем как блокирующий, так и неблокирующий способ извлечения T из Mono : block and subscribe .

2. ** Блокирующий путь**

Как правило, Mono успешно завершается, испуская элемент в какой-то момент времени.

· 6 мин. чтения

1. Введение

В этой статье мы рассмотрим, как обрабатывать исключения и ошибки с помощью RxJava.

Во-первых, имейте в виду, что Observable обычно не генерирует исключений. Вместо этого по умолчанию Observable вызывает метод onError() своего наблюдателя , уведомляя наблюдателя о том, что только что произошла неисправимая ошибка, а затем завершает работу, не вызывая больше никаких методов своего наблюдателя .

Операторы обработки ошибок, которые мы собираемся представить, изменяют поведение по умолчанию, возобновляя или повторяя последовательность Observable .

2. Зависимости Maven

· 8 мин. чтения

1. Обзор

В этом уроке мы будем использовать основы Project Reactor , чтобы изучить несколько методов создания объектов Flux .

2. Зависимости Maven

Давайте начнем с пары зависимостей. Нам понадобятся реактор-ядро и реактор-тест :

<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-core</artifactId>
<version>3.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-test</artifactId>
<version>3.2.6.RELEASE</version>
<scope>test</scope>
</dependency>

· 5 мин. чтения

1. Введение

Популярность RxJava привела к созданию множества сторонних библиотек, расширяющих его функциональность.

Многие из этих библиотек были ответом на типичные проблемы, с которыми сталкивались разработчики при использовании RxJava. RxRelay — одно из таких решений.

2. Работа с предметом

Проще говоря, Subject действует как мост между Observable и Observer. Поскольку это Observer , он может подписаться на один или несколько Observable и получать от них события.

· 3 мин. чтения

1. Введение

В этом кратком руководстве мы обсудим различные способы объединения Observables в RxJava.

Если вы новичок в RxJava, обязательно сначала ознакомьтесь с этим вводным руководством .

Теперь, давайте прыгать прямо в.

2. Наблюдаемые

· 4 мин. чтения

1. Обзор

В этом кратком руководстве мы покажем, как написать собственный оператор с помощью RxJava .

Мы обсудим, как создать этот простой оператор, а также преобразователь — как в виде класса, так и в виде простой функции.

2. Конфигурация Maven

Во-первых, нам нужно убедиться, что у нас есть зависимость rxjava в pom.xml :

· 5 мин. чтения

1. Обзор

В этой статье мы рассмотрим способы тестирования кода, написанного с использованием RxJava .

Типичный поток, который мы создаем с помощью RxJava, состоит из Observable и Observer. Наблюдаемое — это источник данных, который представляет собой последовательность элементов. Один или несколько наблюдателей подписываются на него для получения генерируемых событий.

Как правило, наблюдатель и наблюдаемые объекты выполняются в отдельных потоках асинхронным образом, что затрудняет тестирование кода традиционным способом.

К счастью, RxJava предоставляет класс TestSubscriber , который дает нам возможность тестировать асинхронный поток, управляемый событиями.

2. Тестирование RxJava — традиционный способ

· 5 мин. чтения

1. Обзор

В этом руководстве с помощью моделей Akka Actor & Stream мы узнаем, как настроить Akka для создания HTTP API, обеспечивающего базовые операции CRUD.

2. Зависимости Maven

Для начала давайте посмотрим на зависимости, необходимые для начала работы с Akka HTTP:

<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-http_2.12</artifactId>
<version>10.0.11</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-stream_2.12</artifactId>
<version>2.5.11</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-http-jackson_2.12</artifactId>
<version>10.0.11</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-http-testkit_2.12</artifactId>
<version>10.0.11</version>
<scope>test</scope>
</dependency>