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

13 записей с тегом "WebFlux"

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

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

1. Введение

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

Мы начнем с обсуждения параллелизма в отношении реактивного программирования. После этого мы рассмотрим, как Spring WebFlux предлагает абстракции параллелизма для различных библиотек реактивного сервера.

2. Мотивация реактивного программирования

Типичное веб-приложение состоит из нескольких сложных взаимодействующих частей . Многие из этих взаимодействий носят блокирующий характер , например те, которые связаны с обращением к базе данных для выборки или обновления данных. Однако несколько других являются независимыми и могут выполняться одновременно, возможно, параллельно.

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

1. Обзор

В этом руководстве мы рассмотрим различные стратегии, доступные для обработки ошибок в проекте Spring WebFlux , и рассмотрим практический пример.

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

2. Настройка примера

Настройка Maven такая же, как и в нашей предыдущей статье , в которой представлено введение в Spring WebFlux.

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

1. Обзор

Spring 5 включает Spring WebFlux, который обеспечивает поддержку реактивного программирования для веб-приложений.

В этом руководстве мы создадим небольшое реактивное приложение REST, используя реактивные веб-компоненты RestController и WebClient.

Мы также рассмотрим, как защитить наши реактивные конечные точки с помощью Spring Security.

2. Весенний фреймворк WebFlux

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

1. Введение

В этом руководстве мы рассмотрим аннотацию @Async в Spring MVC, а затем познакомимся с Spring WebFlux. Наша цель — лучше понять разницу между ними.

2. Сценарий реализации

Здесь мы хотим выбрать сценарий, чтобы показать, как мы можем реализовать простое веб-приложение с каждым из этих API. Кроме того, нам особенно интересно узнать больше об управлении потоками и блокируемом или неблокирующем вводе-выводе в каждом случае.

Давайте выберем веб-приложение с одной конечной точкой, которое возвращает строковый результат. Дело в том, что запрос будет проходить через фильтр с небольшой задержкой в 200 мс, а затем контроллеру нужно 500 мс для расчета и возврата результата.

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

./a24f166de8204c49751f0d5ba0a27f43.png

Начало работы с Spring WebFlux

./3b72c1442c81b2c86a34df43bb5f6df5.png

Весенний веб-клиент

./6fa0ab2c3dc26978c581de4eb8ecd389.png

Spring Security в реактивных приложениях

./fd89552b8aa557fbc165544bba3d17db.png

Отладка реактивных приложений

./dd84627e865cf4d421c8f1f998fd817f.png

Расширенные руководства по Spring Reactive

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

./fffa3d2ea3344cbf7c5dee672da62a2f.png

Новая поддержка OAuth2

./3b72c1442c81b2c86a34df43bb5f6df5.png

Spring Security OAuth2 (устаревший стек)

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

1. Обзор

В этом руководстве мы увидим, как отправлять запланированные сообщения с сервера в браузер с помощью WebSockets . Альтернативой может быть использование событий, отправленных сервером (SSE), но мы не будем рассматривать это в этой статье.

Spring предоставляет множество вариантов планирования. Во-первых, мы рассмотрим аннотацию @Scheduled . Затем мы увидим пример с методом Flux::interval , предоставленным Project Reactor. Эта библиотека доступна «из коробки» для приложений Webflux и может использоваться как отдельная библиотека в любом проекте Java.

Также существуют более продвинутые механизмы, такие как планировщик Quartz , но мы не будем их рассматривать.

2. Простое приложение для чата

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

1. Обзор

В Spring 5 появился новый PathPatternParser для разбора шаблонов шаблонов URI . Это альтернатива ранее использовавшемуся AntPathMatcher .

AntPathMatcher был реализацией сопоставления пути с образцом в стиле Ant. PathPatternParser разбивает путь на связанный список PathElements . Эта цепочка PathElements используется классом PathPattern для быстрого сопоставления шаблонов.

С PathPatternParser также была введена поддержка нового синтаксиса переменной URI.

В этой статье мы рассмотрим новые/обновленные средства сопоставления шаблонов URL, представленные в Spring 5.0 WebFlux, а также те, которые появились в более старых версиях Spring.

2. Новые средства сопоставления шаблонов URL в Spring 5.0

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

1. Обзор

В предыдущем посте мы узнали о спецификации Cross-Origin Resource Sharing (CORS) и о том, как ее использовать в Spring.

В этом кратком руководстве мы настроим аналогичную конфигурацию CORS, используя среду Spring 5 WebFlux .

Прежде всего, мы увидим, как мы можем включить этот механизм в API на основе аннотаций.

Затем мы разберем, как включить его на весь проект в виде глобальной конфигурации или с помощью специального веб- фильтра .

2. Включение CORS для аннотированных элементов

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

1. Обзор

Spring Security добавила поддержку OAuth для WebFlux, начиная с версии 5.1.x GA.

Мы обсудим , как настроить наше приложение WebFlux для использования поддержки входа OAuth2 . Мы также обсудим, как использовать WebClient для доступа к защищенным ресурсам OAuth2.

Конфигурация входа OAuth для Webflux аналогична конфигурации для стандартного веб-приложения MVC. Подробнее об этом читайте в нашей статье об элементе Spring OAuth2Login .

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