1.1 启动与配置 - BerryWang1996/netty-spring GitHub Wiki

1. 启动服务

由于Netty可以在任何时候通过代码启动,所以建议在系统初始化阶段就开启Netty,模块netty-spring-web主要用来启动Netty,使用启动类NettyServerBootstrap来启动Netty,启动需要Spring环境的支持。代码如下:

public static void main(String[] args) {
    new NettyServerBootstrap().start(new NettyServerStartupProperties())
}

2. 配置

你会发现,在启动Netty的时候,创建了一个NettyServerStartupProperties对象,这个对象是用来配置Netty的,下面将一一介绍配置对象的各个属性。

2.1 基本配置

字段名 默认值 说明
applicationName _netty_spring_application 应用的名称
loadSpringApplicationContext true 是否在启动时加载Spring上下文,如果在启动的时候不加载,需要在创建NettyServerBootstrap时,在构造器传入Spring上下文
configLocation classpath:applicationContext.xml 如果需要在启动时加载Spring上下文需要xml配置文件
handleFile false 如果通过http请求请求服务器文件是否进行处理
rootLocation null 服务器文件目录所在文件夹,请求服务器文件时,会从这个文件夹中获取文件
infoLocation null WEB-INF文件夹所在位置或者资源文件夹位置(目前没有使用到,为模板引擎做预留)

2.2 SSL

字段名 默认值 说明
enable false 是否启动https
certificate null PEM格式的X.509证书
certificateKey null PKCS#8格式的私钥文件

2.3 Gzip

字段名 默认值 说明
enable false 是否开启gzip
types text/html text/plain application/javascript application/x-javascript text/javascript text/css application/xml image/jpeg image/gif image/png 对哪一些MIME类型进行压缩
compressionLevel 6 1产生最快的压缩,9产生最好的压缩。0表示没有压缩
windowBits 15 以两个对数为底的历史缓冲区的大小。这个值应该在范围9到15之间。较大的值会以牺牲内存使用为代价获得更好的压缩
memLevel 8 应该为内部压缩状态分配多少内存。1使用最小内存,9使用最大内存。更大的值以牺牲内存使用为代价,导致更好更快的压缩
contentSizeThreshold 0 当响应体的大小超过阈值时,响应体被压缩。这个值应该是非负数。0将为所有响应启用压缩