Добавлена бизнес-строка пула потоков: jt808.msg-handler
Минимальная версия JDK для следующих модулей была снижена с 11
до 8
:
Класс BitOperator
получил новые методы:
mapIf(...)
setIf(...)
setWithStatus(...)
setWithStatusIf(...)
setRangeIf(...)
resetIf(...)
resetRangeIf(...)
unsignedLongValue(...)
rangedUnsignedIntValue(...)
rangedUnsignedLongValue(...)
Исправлено переполнение при работе с битами, когда offset >= 31
, методы:
BitOperator#set(int offset)
BitOperator#reset(int offset)
BitOperator#get(int offset)
oaks-common-utils
обновлен до версии 1.0.7
Jt808MsgBuilder
RebuildableByteBufJt808MsgBuilder
Gradle
: 8.6 обновлен до 8.8
spring-boot-dependencies
spring-cloud-dependencies
RebuildableByteBufJt808MsgBuilder
## 2.1.4-rc.4 (2024-06-02)Предварительная поддержка шифрования и расшифровки сообщений, подробнее см.: #82
Jt808MsgEncryptionHandler
@Jt808ResponseBody
получил новый атрибут encryptionType(int)
Jt808Response
получил новый атрибут encryptionType(int)
Jt808MsgBuilder
получил новый атрибут encryptionType(int)
length
в классе ExtendedJt808FieldDeserializerLocationExtraItem
@RequestFieldAlias.LocationMsgExtraItemMapping()
@RequestField#conditionalOn()
BuiltinCommonHandler.processTerminalHeartBeatMsg
должен отвечать сообщением 0x8001
, а не игнорировать егоСм. все изменения в версиях 2.1.1-RC1, 2.1.1-RC2, 2.1.1-RC3.
Jackson
в classpath при установке jt808.features.program-param-printer.enabled = false
возникает ошибка.BitOperator
long
для аннотации @SlicedFrom
Удаление свойства startIndex
из аннотации @RequestField
в примерах встроенных сообщений (начиная с версии 2.1.1 это свойство больше не требуется).
Упрощение новых возможностей, добавленных в версии 2.1.1-RC1.
@RequestField
и @ResponseField
с помощью алиасов аннотаций
@RequestFieldAlias
и @ResponseFieldAlias
LWord
(LongWord
, 64bit
)@RequestFieldAlias
и @ResponseFieldAlias
MsgDataType#BYTES
и java.lang.String
Geo
(широта и долгота) поддерживает преобразование в long/Long
, double/Double
, BigDecimal
BCD
(десятичное число в двоичном представлении), который выражает временные метки, может быть преобразован в java.lang.String
, java.util.Date
, java.time.LocalDateTime
java.util.Date
и java.time.LocalDateTime
могут быть преобразованы в BCD
Context
в Jt808FieldDeserializer
для удобства создания пользовательских аннотацийContext
в Jt808FieldSerializer
для удобства создания пользовательских аннотацийJt808RequestFilter
(требуется настройка jt808.features.request-filter.enabled=true
)BitOperator
, поддерживающий десериализацию WORD
, DWORD
, BYTE
в BitOperator
BytesValueWrapper
ByteBufContainer
или ByteArrayContainer
вместоByteBufContainer
или ByteArrayContainer
BuiltinMsg8103
BuiltinMsg8103Alias
BuiltinMsg8100Alias
BuiltinMsg8300
BuiltinMsg8300Alias
BuiltinMsg8600V2011Alias
BuiltinMsg8600V2013Alias
BuiltinMsg8600V2019Alias
- BuiltinMsg8602V2011Alias
BuiltinMsg8602V2013Alias
BuiltinMsg8602V2019Alias
BuiltinMsg8604V2011Alias
BuiltinMsg8604V2013Alias
BuiltinMsg8604V2019Alias
### 🐞 Устранение ошибок- Поддержка возвращаемого значения 0
для @RequestField#length()
BuiltinMsg0200
переименовано в BuiltinMsg0002
(ранее было неправильно названо)jt808.msg-processor.executor-group.thread-count
изменено на 128
jt808.features.program-param-printer.enabled
docs
из файла settings.gradle
(не требуется управление через gradle)spring-boot
из jt-808-server-spring-boot-autoconfigure
spring-boot
С версии 2.1.x поддерживаются как spring-boot-2.x, так и spring-boot-3.x.
Предоставленные starter
имеют следующие ограничения по версиям JDK и spring-boot:
Модуль | JDK | spring-boot | Описание |
---|---|---|---|
jt-808-server-spring-boot-starter-boot2 |
11+ |
[2.2.x, 2.6.x] |
Starter для spring-boot-2.x |
jt-808-server-spring-boot-starter |
17+ |
[3.0.0, ...] |
Starter для spring-boot-3.x |
Изменения:-- 1). Исправление ошибки в написании имени модуля
- В версиях 2.0.x имя модуля jt-808-server-spring-boot-stater
содержит ошибку в написании слова (😂): слово starter написано как stater
- В версиях 2.1.x имя было исправлено на jt--808-server-spring-boot-starter-boot2
- stater заменено на starter
- Добавлен суффикс -boot2, что указывает на то, что этот модуль предназначен для spring-boot-2.x
jt-808-server-spring-boot-starter
JDK
: 17
spring-boot
: 3.0.2
jdk.version >= 17 && spring-boot.version >= 3.0.0
jt-808-server-spring-boot-starter-boot2
jt-808-server-spring-boot-stater
JDK
: 17
spring-boot
: 2.6.14
jdk.version >= 11 && spring-boot.version >= 2.2.x && spring-boot.version <= 2.6.x
Gradle
обновлен до версии 7.6
Spring-Boot
обновлен до версии 2.6.14
Jt808Session
добавлены следующие методы:
setAttribute
getAttribute
getRequiredAttribute
removeAttribute
Jt808ServerExchange
добавлены следующие методы:
removeAttribute
jt808:
server:
idle-state-handler:
# Причины изменения см. в https://github.com/hylexus/jt-framework/issues/66
writer-idle-time: 0s # Изменено с 20m на 0s (отключено)
all-idle-time: 0s # Изменено с 20m на 0s (отключено)
Jt808RequestLifecycleListener
Jt808RequestLifecycleListener
Jt808MsgBuilder
ByteArrayFieldSerializer
Spring-Boot
обновлен до версии 2.5.12
Удален EventBus
, бизнес-пул потоков теперь использует пользовательский EventExecutorGroup
Устарели конфигурационные параметры jt808.msg-processor.thread-pool.xxx
, заменены на jt808.msg-processor.executor-group.xxx
### 🔨 Обновление зависимостей
Gradle
обновлен до версии 6.8.1
Spring-Boot
обновлен до версии 2.5.7
Netty
обновлен до версии 4.1.75.Final
SpEL
)Добавлена документация для 2.x.
Добавлены новые конфигурационные параметры:
jt808.server.idle-state-handler
: Соответствует трем атрибутам класса io.netty.handler.timeout.IdleStateHandler
: readerIdleTime
, writerIdleTime
, allIdleTime
.
По умолчанию значения всех этих атрибутов равны 20 минут
.Добавлено io.github.hylexus.jt.msg.builder.jt808.Jt808MsgBuilder
@Jt808RequestMsgConverter
@Jt8s08RequestMsgHandler
@NestedFieldMapping
(https://github.com/hylexus/jt-framework/issues/25)jt808.protocol.version
@NestedFieldMapping
Jt808ServerConfigure
легко вызывало циклическую зависимость BeanJt808ServerConfigurationSupport
для задания пользовательских конфигурацийscope
runtime
заменены на compile
, затронутые зависимости:
Jt808SessionManager
, теперь поддерживается возможность его настройкиВозможность выбора управления MsgHandler
через Spring, чтобы можно было использовать другие Beans, управляемые Spring, внутри MsgHandler
### 🐞 Исправление ошибок
https://github.com/hylexus/jt-framework/issues/16
https://github.com/hylexus/jt-framework/issues/17
Session#currentFlowId
SessionManager#findBySessionId
MsgHandler
может быть опционально передан в управление Spring для вызова других Bean внутри MsgHandler
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )