升级到2.3.0-rc.5
约 316 字大约 1 分钟
升级到2.3.0-rc.5
请先读我
提示
如果你没有自定义过下面两种类型的组件,可以忽略这个升级提示。
JtServerNettyConfigure及其子接口和实现类Jt808ServerNettyConfigure- 删除了
DefaultJt808ServerNettyConfigure - 新增
BuiltinJt808ServerNettyConfigure
- 删除了
Jt808AttachmentServerNettyConfigure- 删除了
DefaultJt808AttachmentServerNettyConfigure - 新增
BuiltinJt808AttachmentServerNettyConfigure
- 删除了
AbstractRunner构造器参数变更
变更原因
之前版本的 JtServerNettyConfigure 设计不太合理:
// 之前版本的 Jt808ServerNettyConfigure(相关方法已经删除)
public interface Jt808ServerNettyConfigure {
void configureServerBootstrap(ServerBootstrap serverBootstrap);
void configureSocketChannel(SocketChannel ch);
}
默认实现中在 configureServerBootstrap() 方法中调用了 configureSocketChannel(),这可能导致用户覆盖掉对 configureSocketChannel() 方法的调用。
下面是新的 Jt808ServerNettyConfigure 接口方法:
// 新的 Jt808ServerNettyConfigure
public interface Jt808ServerNettyConfigure extends JtServerNettyConfigure {
/**
* @param configProvider 可以从中读取配置项(环境变量、系统属性、application.yaml、...)
* @return 返回入参中的 {@code serverBootstrap} 或 返回一个新的 {@link ServerBootstrap ServerBootstrap} 实例
*/
ServerBootstrap configureServerBootstrap(ConfigurationProvider configProvider, ServerBootstrap serverBootstrap);
void configureSocketChannel(ConfigurationProvider configProvider, SocketChannel ch);
}
新版本的 configureServerBootstrap() 和 configureSocketChannel() 方法的调用移动到了 AbstractRunner 中,并且 AbstractRunner 的构造器参数也发生了变化。
升级参考
如果你没有自定义 JtServerNettyConfigure 及其子接口和实现类,那么你不需要做任何改动。
反之,请参考下面链接:
