• Так ли вам необходим 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.