Netty(5)@Sharable
2024-08-26 23:39:32
问题:我写了MyDecoder
which extends ByteToMessageDecoder,单线程没问题,但是多线程时,报'the handler should be sharable'。查看ByteToMessageDecoder,发现其不能被@sharable。
解决:
在ChannelInitializer中,要new XxxHandler()。
pipeline.addLast(new TelnetServerHandler());
而不能写成员变量,如:
private static final TelnetServerHandler SERVER_HANDLER = new TelnetServerHandler();
因为,ByteToMessageDecoder是有状态的(成员变量),如下:
public abstract class ByteToMessageDecoder extends ChannelInboundHandlerAdapter { ByteBuf cumulation;
private boolean singleDecode;
private boolean decodeWasNull;
private boolean first;
最新文章
- oracle 查询最近执行过的 SQL语句(转载)
- Hibernate —— Hibernate 配置文件
- SQL约束
- dedecms调用标签总结(一)
- ThinkPHP讲解(十二)——文本编辑器和ajax传址
- Ubuntu 环境 运行Asp.net mvc +EntityFramework+ Mysql
- windows下nginx和php环境的配置
- tomcat 系统架构与设计模式 第一部分 系统架构工作原理 转
- Javascript高级程序设计读书笔记(第10章 DOM)
- opencv 简单、常用的图像处理函数(2)
- UV印刷
- 合肥.NET技术社区首次线下聚会全程回顾【多图】
- jqurey.running.min.js运动的字体效果
- 比较ASP.NET和ASP.NET Core[经典 Asp.Net v和 Asp.Net Core (Asp.Net Core MVC)]
- Setup Sight Sense
- 获取ScrollView ListView的当前位置的百分比
- oracle dataguard主从切换
- 给你的网站添加 console.js
- java持有对象【2】ArrayList容器续解
- ADNI以及study design简介
热门文章
- 15 个最佳的 jQuery 布局插件【转】
- NASNet学习笔记—— 核心一:延续NAS论文的核心机制使得能够自动产生网络结构; 核心二:采用resnet和Inception重复使用block结构思想; 核心三:利用迁移学习将生成的网络迁移到大数据集上提出一个new search space。
- Go丨语言对数据库操作报错 panic: dial tcp 127.0.0.1:3306: connectex: No connection could be made because the target machine actively refused it.
- BZOJ_5338_ [TJOI2018]xor_可持久化trie
- Http客户端跳转和服务器端跳转的区别
- java 最佳实践
- 继承HibernateDaoSupport实现DAO(spring整合hibernate)
- Linux 之添加系统环境变量
- Excel .net读取
- Golang : pflag 包简介