808服务配置(v1)
808服务配置(v1)
本小节会介绍808服务的配置选项。
默认的配置可以在
default-jt808-server-config.yml
中查看。
并且已经将默认的配置加入到了 Spring 的 PropertySources 中,并将其置于最后,名称为 default-jt808-server-config 。

配置项
jt808:
print-component-statistics: true
server:
# ...
entity-scan:
# ...
handler-scan:
# ...
exception-handler-scan:
# ...
msg-processor:
thread-pool:
# ...
protocol
version
- 类型:
enum - 默认值:
auto_detection
808协议版本,可选值位于:io.github.hylexus.jt.config.Jt808ProtocolVersion 。
max-frame-length
对应 io.netty.handler.codec.DelimiterBasedFrameDecoder 的 maxFrameLength 属性。默认值:1024。
server
port
- 类型:
int - 默认值:
6808
Netty 服务器的TCP端口。
boss-thread-count
- 类型:
int - 默认值:
0
默认值 0 表示交由 Netty 处理。
this.bossGroup = new NioEventLoopGroup(bossThreadCount);
worker-thread-count
- 类型:
int - 默认值:
0
默认值 0 表示交由 Netty 处理。
this.workerGroup = new NioEventLoopGroup(workThreadCount);
idle-state-handler
该配置项对应 io.netty.handler.timeout.IdleStateHandler 的 三个属性:readerIdleTime、 writerIdleTime 、allIdelTime。 默认值都是 20m;
如果你的项目不需要 IdleStateHandler 的话,将 jt808.server.idle-state-handler.enabled 配置为 false 即可。
entity-scan
enabled
- 类型:
boolean - 默认值:
true
是否启用实体扫描功能。启用后,请求报文可以自动映射到使用 @Jt808ReqMsgBody 标记的 请求消息体实体类 。
使用基于注解的 请求体消息实体类 请参考这里。
enable-builtin-entity
- 类型:
boolean - 默认值:
true
是否自动注册内置的 请求消息体实体类。
内置的 请求消息体实体类 包括:
AuthRequestMsgBody: 鉴权消息请求消息体实体类。EmptyRequestBody: 一个空的请求消息体实体类。
base-packages
- 类型:
String - 默认值:
""
请求消息体实体类 所在的包名,多个以逗号分隔。
register-builtin-request-msg-converters
- 类型:
boolean - 默认值:
true
是否自动注册内置的 RequestMsgBodyConverter。
handler-scan
enabled
- 类型:
boolean - 默认值:
true
是否启用基于注解的MsgHandler功能。启用后,消息处理可以用 @Jt808RequestMsgHandlerMapping 来处理。
使用基于注解的 MsgHandler 请参考这里。
base-packages
- 类型:
String - 默认值:
""
基于注解的 MsgHandler 所在的包名,多个以逗号分隔。
register-builtin-msg-handlers
- 类型:
boolean - 默认值:
true
是否自动注册内置的 MsgHandler 。
exception-handler-scan
enabled
- 类型:
boolean - 默认值:
true
是否启用全局异常处理机制。启用后,可以用类似于 Spring 的全局异常处理的方式来处理异常。
使用基于注解的 ExceptionHandler 请参考这里。
base-packages
- 类型:
String - 默认值:
""
基于注解的 ExceptionHandler 所在的包名,多个以逗号分隔。
register-builtin-exception-handlers
- 类型:
boolean - 默认值:
true
是否自动注册内置的 ExceptionHandler 。
msg-processor.thread-pool
提示
此处为 消息处理线程池 相关的配置。其实就是 Java线程池 几个关键参数的配置。
core-pool-size
- 类型:
int - 默认值:
Runtime.getRuntime().availableProcessors() + 1
消息处理线程池的核心线程数,即 java.util.concurrent.ThreadPoolExecutor.corePoolSize。
maximum-pool-size
- 类型:
int - 默认值:
2 * corePoolSize
同 java.util.concurrent.ThreadPoolExecutor.maximumPoolSize 。
keep-alive-time
- 类型:
Duration - 默认值:
60s
同 java.util.concurrent.ThreadPoolExecutor.keepAliveTime 。
blocking-queue-size
- 类型:
int - 默认值:
20
java.util.concurrent.ThreadPoolExecutor.workQueue 的 size() 。
thread-name-format
- 类型:
String - 默认值:
808-msg-processor-%d
线程池中线程的命名格式。
其他配置
print-component-statistics
- 类型:
boolean - 默认值:
true
jt808.print-component-statistics 表示是否开启服务启动完成后显示组件统计信息。
这些统计信息可以显示已经注册的 MsgConverter 、 MsgHandler 等组件。类似于下图所示:

