From 734bd7ad32cda2e53c94ca02ce0bf4346a73419f Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Wed, 14 Sep 2016 13:03:36 +0800 Subject: [PATCH] --- redkale.html | 90 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 60 insertions(+), 30 deletions(-) diff --git a/redkale.html b/redkale.html index 2ea67e1fc..628a17a81 100644 --- a/redkale.html +++ b/redkale.html @@ -517,6 +517,7 @@ <!-- 文件说明: ${APP_HOME} 指当前程序的根目录APP_HOME + 没注明唯一的节点可多个存在 required: 被声明required的属性值不能为空 --> <!-- @@ -527,20 +528,25 @@ --> <application port="6560" lib=""> - <!-- 所有服务所需的资源 --> + <!-- + 【节点全局唯一】 + 所有服务所需的资源 + --> <resources> <!-- + 【节点全局唯一】 transport节点只能有一个,用于配置所有Transport的池参数,没配置该节点将自动创建一个。 threads: 线程总数, 默认: <group>节点数*CPU核数*8 bufferCapacity: ByteBuffer的初始化大小, 默认: 8K; bufferPoolSize: ByteBuffer池的大小,默认: <group>节点数*CPU核数*8 --> - <transport capacity="8192" bufferPoolSize="32" threads="32"/> + <transport bufferCapacity="8K" bufferPoolSize="32" threads="32"/> <!-- 一个组包含多个NODE, 同一Service服务可以由多个进程提供,这些进程称为一个GROUP,且同一GROUP内的进程必须在同一机房或局域网内 一个group节点对应一个 Transport 对象。 name: 服务组ID,长度不能超过11个字节. 默认为空字符串。 注意: name不能包含$符号。 protocol:值只能是UDP TCP, 默认TCP + kind: 与SNCP服务连接时的数据传输类型;可选值有:rest(不区分大小写);值为空或空字符串表示按SNCP协议传输; 为rest表示按REST传输。默认值为空 注意: 一个node只能所属一个group。只要存在protocol=SNCP的Server节点信息, 就必须有group节点信息。 --> <group name="" protocol="TCP"> @@ -555,6 +561,7 @@ <node addr="127.0.0.1" port="7070"/> </group> <!-- + 【节点全局唯一】 全局的参数配置, 可以通过@Resource(name="property.xxxxxx") 进行注入, 被注解的字段类型只能是String、primitive class 如果name是system.property.开头的值将会在进程启动时进行System.setProperty("yyyy", "YYYYYY")操作。 如果name是mimetype.property.开头的值将会在进程启动时进行MimeType.add("yyyy", "YYYYYY")操作。 @@ -580,7 +587,8 @@ host: 服务所占address , 默认: 0.0.0.0 port: required 服务所占端口 root: 如果是web类型服务,则包含页面 默认:{APP_HOME}/root - lib: server额外的class目录, 默认为空 + lib: server额外的class目录, 默认为空 + excludelibs: 排除lib.path与excludes中的正则表达式匹配的路径, 多个正则表达式用分号;隔开 charset: 文本编码, 默认: UTF-8 backlog: 默认10K threads: 线程总数, 默认: CPU核数*16 @@ -589,8 +597,8 @@ bufferPoolSize: ByteBuffer池的大小,默认: CPU核数*512 responsePoolSize: Response池的大小,默认: CPU核数*256 readTimeoutSecond: 读操作超时秒数, 默认0, 表示永久不超时 - writeTimeoutSecond: 写操作超时秒数, 默认0, 表示永久不超时 - interceptor: 启动/关闭NodeServer时被调用的拦截器实现类,必须是org.redkale.boot.NodeInterceptor的子类,默认为null + writeTimeoutSecond: 写操作超时秒数, 默认0, 表示永久不超时 + interceptor: 启动/关闭NodeServer时被调用的拦截器实现类,必须是org.redkale.boot.NodeInterceptor的子类,默认为null --> <server protocol="HTTP" host="127.0.0.1" port="6060" root="root" lib=""> @@ -616,13 +624,31 @@ --> <service value="com.xxx.XXX2Service" name="" groups="xxx;yyy"/> <!-- 给Service增加配置属性 --> - <service value="com.xxx.XXX1Service"> - <property name="xxxxxx" value="XXXXXXXX"/> + <service value="com.xxx.XXX1Service"> + <!-- property节点值在 public void init(AnyValue conf) 方法中可以通过 AnyValue properties = conf.getAnyValue("properties");获取 --> + <property name="xxxxxx" value="XXXXXXXX"/> <property name="xxxxxx" value="XXXXXXXX"/> </service> </services> + <!-- + REST的核心配置项, 存在[rest]节点则Server启动时会加载REST服务, 当Server为SNCP协议时,则SncpServer会变成REST的HttpServer, 节点可以多个 + base: REST服务的BaseServlet,必须是 org.redkale.net.http.RestHttpServlet 的子类,该属性值默认值为 org.redkale.net.http.DefaultRestServlet。 + autoload:默认值"true" 默认值. 加载当前server所能使用的Servce对象; + mustsign:默认值"true" 是否只加载标记为RestService的Service类,默认只加载标记RestService且ignore=false的Service + includes:当autoload="true", 拉取类名与includes中的正则表达式匹配的类, 多个正则表达式用分号;隔开 + excludes:当autoload="true", 排除类名与excludes中的正则表达式匹配的类, 多个正则表达式用分号;隔开 + --> + <rest base="org.redkale.net.http.DefaultRestServlet" mustsign="false" autoload="true" includes="" excludes=""> + <!-- + value: Service类名,列出的表示必须被加载的Service对象 + ignore: 是否忽略,设置为true则不会加载该Service对象,默认值为false + --> + <service value="com.xxx.XXXXService"/> + </rest> + <!-- + 【节点在<server>中唯一】 当Server为HTTP协议时, request节点才有效。 remoteaddr 节点: 替换请求方节点的IP地址, 通常请求方是由nginx等web静态服务器转发过的则需要配置该节点。 且value值只能是以request.headers.开头,表示从request.headers中获取对应的header值。 @@ -633,6 +659,7 @@ </request> <!-- + 【节点在<server>中唯一】 当Server为HTTP协议时, response节点才有效。 defcookie 节点: 当response里输出的cookie没有指定domain 和path时,使用该节点的默认值。 如果addheader、setheader 的value值以request.parameters.开头则表示从request.parameters中获取对应的parameter值 @@ -645,6 +672,30 @@ <setheader name="Access-Control-Allow-Credentials" value="true"/> </response> + <!-- + 【节点在<server>中唯一】 + 当Server为HTTP协议时,ResourceServlet才有效. 默认存在一个有默认属性的resource-servlet节点 + webroot: web资源的根目录, 默认取server节点中的root值 + servlet: 静态资源HttpServlet的实现,默认使用HttpResourceServlet + index : 启始页,默认值:index.html + --> + <resource-servlet webroot="root" index="index.html"> + <!-- + 资源缓存的配置, 默认存在一个含默认属性的caches节点 + limit: 资源缓存最大容量, 默认: 0, 为0表示不缓存, 单位可以是B、K、M、G,不区分大小写 + lengthmax: 可缓存的文件大小上限, 默认: 1M(超过1M的文件不会被缓存) + watch: 是否监控缓存文件的变化, 默认不监控 + --> + <cache limit="0M" lengthmax="1M" watch="false"/> + <!-- + 支持类似nginx中的rewrite, 目前只支持静态资源对静态资源的跳转。 + type: 匹配的类型, 目前只支持location(匹配requestURI), 默认: location + match: 匹配的正则表达式 + forward: 需跳转后的资源链接 + 例如下面例子是将/xxx-yyy.html的页面全部跳转到/xxx.html + --> + <rewrite type="location" match="^/([^-]+)-[^-\.]+\.html(.*)" forward="/$1.html"/> + </resource-servlet> <!-- 加载所有的Servlet服务; path: servlet的ContextPath前缀 默认为空 @@ -655,28 +706,6 @@ excludes: 当autoload="true", 排除类名与excludes中的正则表达式匹配的类, 多个正则表达式用分号;隔开 --> <servlets path="/pipes" autoload="true" includes="" excludes=""> - <!-- - 当Server为HTTP协议时,ResourceServlet才有效. 默认存在一个有默认属性的resource-servlet节点 - webroot: web资源的根目录, 默认取server节点中的root值 - index : 启始页,默认值:index.html - --> - <resource-servlet webroot="root" index="index.html"> - <!-- - 资源缓存的配置, 默认存在一个含默认属性的cache节点 - limit: 资源缓存最大容量, 默认: 0, 为0表示不缓存, 单位可以是B、K、M、G,不区分大小写 - lengthmax: 可缓存的文件大小上限, 默认: 1M(超过1M的文件不会被缓存) - watch: 是否监控缓存文件的变化, 默认不监控 - --> - <cache limit="0M" lengthmax="1M" /> - <!-- - 支持类似nginx中的rewrite, 目前只支持静态资源对静态资源的跳转。 - type: 匹配的类型, 目前只支持location(匹配requestURI), 默认: location - match: 匹配的正则表达式 - forward: 需跳转后的资源链接 - 例如下面例子是将/xxx-yyy.html的页面全部跳转到/xxx.html - --> - <rewrite type="location" match="^/([^-]+)-[^-\.]+\.html(.*)" forward="/$1.html"/> - </resource-servlet> <!-- 显著加载指定的Servlet --> <servlet value="com.xxx.XXX1Servlet" /> <servlet value="com.xxx.XXX2Servlet" /> @@ -692,7 +721,8 @@ <services autoload="true" includes="" excludes="" /> </server> </application> - + +