@Sharable
- 标识 handler 提醒可共享;
- 没有被此注解标注的 handler 不能重复安装到 pipeline 中,如果没有被该注解的 handler 安装到多个 pipeline 中,那么只有第一个请求的 Client 可以连接成功,之后的 Client 无法连接,并且在 Server 端会报错;
@Skip
- 跳过 handler 的执行;
- 在 Netty 5 中是可以使用的,但是在 Netty 4 中不可以使用;
- 在自己的基于 Netty 4 项目中,如果不想用某个 handler,就直接删除,而不是用 @Skip 注解;
@UnstableApi
- 提醒不稳定,慎用;
@SupressJava6Requirement
- 去除 “Java6 需求”的报警;
- 如果我们基于 Netty 开发的项目要运行在 Java6 上,那么 Java6 以上版本的 API 就不能使用,我们需要先扫描出项目中所有使用到 Java6 以上 API 的地方,可以用一个 Maven 插件:animal-sniffer;
- 不过我们的代码一般会在用到某个版本的 JDK 的 API 之前先用
PlatformDependeng.javaVersion() >= 7
这样的代码判断一下,但是插件 animal-sniffer 会把这样的代码也扫描出来,那么对于这样的代码,就可以使用 @SupressJava6Requirement 一直 animal-sniffer 的行为;