-
Так ли вам необходим Reactor прямо сейчас?
rus
java
reactive
Сейчас происходит много шума вокруг Project Reactor и реактивным программированием на бэкенде. Однако, на мой взгляд, решение многих повседневных задач остается не раскрытым. В связи с этим мне хотелось бы поделиться некоторыми находками, которые помогут лучше понять как использовать этот подход на бэкенде, написанном на Java.
-
Включаем exactly once delivery в kafka приложении
rus
kafka
В сети очень много информации о kafka, особенно теоритических разборов тех или иных ее возможностей. Одной из возможностей kafka является exactly once delivery, которая появилась в ней начиная с версии 0.11. По умолчанию exactly once delivery является выключенной. Чтобы ее использовать, необходимо конфигурировать как Producer (приложение, которое отправляет сообщения), так и Consumer (приложение, которое читает сообщения). Далее я хочу разобрать, как именно это сделать.
-
Реактивный REST контроллер в Spring
rus
java
spring-boot
open-api
reactive
В spring boot, начиная с версии 2.0, добавили возможность использовать реактивный подход для некоторых сценариев. Например, стало возможным использовать реактивные драйверы для некоторых баз данных и для REST контроллеров. В сети полно примеров, где показано как реализовать REST контроллер самому. Однако, бывают ситуации, когда контроллер и модель должны удовлетворять какому-либо контракту, например, описанному с помощью open api. В этой статье я покажу, как сгенерировать реактивный контроллер при помощи openapi-generator-maven-plugin.
-
Динамическая конфигурация bean в spring
rus
java
spring-boot
Иногда необходимо, чтобы приложение имело возможность динамически создавать бины опираясь на файл конфигурации. В частности, это может быть полезно, когда в конфигурационном файле у нас описаны настройки для разных версий клиентов, которые будут обращаться к внешним сервисам по одному и тому же протоколу, но через разные URL.
-
Агрегированные запросы в MongoDb через spring
rus
java
spring-boot
mongoDb
Часто при работе с базой данных (БД) нам нужно получить данные, которые были обработаны и представлены так, как того требует логика программы. В большинстве случаев при работе с spring можно обойтись JPA репозиториями. Однако, если нам необходимо получить результат группировки, то JPA репозитории нам не подойдут, так как они не предоставляют такой операции. В простейшем случае можно обойти эту проблему проаннотировав необходимый метод репозитория аннотацией @Query, в остальных приходится писать запрос в БД вручную. В этой статье мы попробуем составить несколько таких запросов в MongoDb.
-
Динамический scheduling в spring boot с помощью триггеров
rus
java
spring-boot
Spring boot предоставляет удобную возможность по управлению задачами, которые должны быть выполнены через заданные промежутки времени. Для этого достаточно воспользоваться аннотацией @Scheduled.