ActiveJ v4.0 был выпущен в свет 16 февраля 2021 (см. на Maven). Этот выпуск включал в себя существенное рефакторинг исключений. Этот релиз также представляет асинхронную высокую производительность ActiveJ Redis. Другие компоненты оптимизированы для производительности.
- Рефакторинг исключений
- Все публичные исключения были удалены/скрыты.
- StacklessException был удален. Классы, которые расширили StacklessException теперь продлевают регулярное Exception, некоторые из них все еще stackless. Stackless исключения предоставляют возможность включать трассировку стека для целей отладки. Это может быть достигнуто путем установки ApplicationSetting
withStackTrace
на true. - Переименованные исключения:
- ParseException -> MalformedDataException
- HttpException -> HttpError (HttpException теперь родительский класс для других HTTP исключений)
- OTTransformException -> Преобразование Исключение
- OTNoCommitException -> NoCommitException
- Добавлены новые исключения для компонентов верхнего уровня и т.д.
- Представлен асинхронный легкий высокопроизводительный ActiveJ Redis клиент с расширяемым API. Примеры и бенчмарки для Redis клиента также были добавлены.
- Оптимизация в сетевом коде, HTTP-обработке (особенно в режиме pipelining) и сериализации данных.
- Переименован ByteBufQueue -> ByteBufs. Добавлен byte index ByteScanner, улучшен
ByteBufs::scanBytes
. Добавлен методByteBufs::consumeBytes
, который работает какByteBufs::scanBytes
, но на самом деле потребляет сканированные bytes/bufs. - Удалено StreamMapper, теперь сопоставление потоков может быть достигнуто с помощью
StreamFilter.mapper(Function<I, O>)
- Удалены Преобразователь, Преобразователь Стрима, AbstractStreamReducer, классы StreamMerger. Слияние потоков может быть произведено через StreamReducer
- Переименовано MergeSortReducer -> MergeReducer, MergeDistinctReducer -> DeduplicateReducer
- Добавлена возможность получения чужих чанков из Cube через вызов
Cube::getIrrelevantChunks
. Нерелевантные чанки можно очистить, вызвавCubeConsolidationController:::cleanupIrrelevantChunks
. - Добавлено правило JUnit тест правило ClassBuilderConstantsRule которое проверяет что все ClassBuilder статические константы очищены после выполнения теста.
- Переименовано большинство классов/методов, содержащих parse, чтобы содержать decode.