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

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

1. Обзор

WebSocket обеспечивает альтернативу ограничению эффективной связи между сервером и веб-браузером, обеспечивая двунаправленную полнодуплексную связь клиент-сервер в реальном времени. Сервер может отправить данные клиенту в любое время. Поскольку он работает по протоколу TCP, он также обеспечивает низкоуровневую связь с малой задержкой и снижает накладные расходы на каждое сообщение .

В этой статье мы рассмотрим Java API для WebSockets, создав приложение, похожее на чат.

2. JSR 356

JSR 356 или API Java для WebSocket определяет API, который Java-разработчики могут использовать для интеграции WebSockets со своими приложениями — как на стороне сервера, так и на стороне клиента Java.

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

1. Обзор

В этом руководстве показано, как создать простое реактивное приложение Spring Boot, которое интегрируется с сервером обмена сообщениями RabbitMQ, популярной реализацией стандарта обмена сообщениями AMQP.

Мы рассмотрим оба сценария — «точка-точка» и «публикация-подписка» — с использованием распределенной установки, которая подчеркивает различия между обоими шаблонами.

Обратите внимание, что мы предполагаем базовые знания AMQP, RabbitMQ и Spring Boot, в частности, таких ключевых понятий, как обмены, очереди, темы и так далее. Более подробную информацию об этих концепциях можно найти по ссылкам ниже:

2. Настройка сервера RabbitMQ

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

1. Обзор

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

В этом кратком руководстве мы опишем возможные способы их реализации с помощью WebFlux Framework.

Поскольку мы не будем вдаваться в подробности о самой структуре WebFlux, вы можете прочитать эту статью для получения более подробной информации.

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

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

1. Обзор

В этой статье мы рассмотрим библиотеку cglib (библиотека генерации кода). Это библиотека инструментовки байтов, используемая во многих средах Java, таких как Hibernate или Spring . Инструментарий байт-кода позволяет манипулировать или создавать классы после этапа компиляции программы.

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

Чтобы использовать cglib в своем проекте, просто добавьте зависимость Maven (последнюю версию можно найти здесь ):

<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.2.4</version>
</dependency>

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

1. Обзор

В этой статье мы рассмотрим бесконфликтные реплицированные типы данных (CRDT) и способы работы с ними в Java. Для наших примеров мы будем использовать реализации из библиотеки wurmloch-crdt .

Когда у нас есть кластер из N узлов-реплик в распределенной системе, мы можем столкнуться с сетевым разделом — некоторые узлы временно не могут общаться друг с другом . Эта ситуация называется разделенным мозгом.

Когда у нас в системе работает split-brain, некоторые запросы на запись — даже для одного и того же пользователя — могут уходить на разные реплики, не связанные друг с другом . Когда возникает такая ситуация, наша система по-прежнему доступна, но не является согласованной .

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

2. Бесконфликтные реплицированные типы данных спешат на помощь

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

1. Обзор

В этой статье мы рассмотрим некоторые из самых популярных механизмов правил для Java.

В критически важных приложениях процесс поддержки бизнес-логики в исходном коде может стать слишком сложным. Бизнес-правила можно использовать для облегчения разработки и обслуживания путем отделения бизнес-логики от исходного кода.

В мире Java большинство библиотек механизмов правил реализуют стандарт JSR94, известный как Java Rule API Engine .

2. Слюни

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

Вот так…

1. Весна и Ява

>> Почему Clojure? [ блог.cleancoder.com ]

С минимальным синтаксисом и грамматикой Clojure, по сути, является вариантом Lisp для экосистемы Java . И личный фаворит.

>> Исполнители HttpClient [ javaspecialists.eu ]

Теперь, когда HttpClient вышел из стадии инкубатора в Java 11, нужно знать о некоторых поведенческих изменениях — когда дело доходит до настройки исполнителей .

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

1. Введение

FreeMarker — это механизм шаблонов, написанный на Java и поддерживаемый Apache Foundation. Мы можем использовать язык шаблонов FreeMarker, также известный как FTL, для создания многих текстовых форматов, таких как веб-страницы, электронная почта или XML-файлы.

В этом уроке мы увидим, что мы можем сделать с помощью FreeMarker «из коробки», хотя обратите внимание, что он вполне настраиваемый и даже хорошо интегрируется со Spring .

Давайте начнем!

2. Краткий обзор

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

1. Обзор

В этой статье мы рассмотрим библиотеку akka-streams , созданную поверх фреймворка актеров Akka, которая соответствует манифесту реактивных потоков . Akka Streams API позволяет нам легко составлять потоки преобразования данных из независимых шагов.

Более того, вся обработка выполняется реактивным, неблокирующим и асинхронным способом.

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

Для начала нам нужно добавить библиотеки akka-stream и akka-stream-testkit в наш pom.xml:

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

1. Введение

В этой статье мы сосредоточимся на интеграции Akka с Spring Framework, чтобы разрешить внедрение сервисов на основе Spring в актеры Akka.

Перед чтением этой статьи рекомендуется предварительно ознакомиться с основами Akka.

2. Внедрение зависимостей в Akka