petcat.xml和petcat.properties说明
一、conf/petcat.xml的内容是这样的:
<?xml version='1.0' encoding='utf-8'?>
<petcat xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<probe username="tomcat" password="probe" maxConnections="5"/>
<mem minGap="2*1024*1024" minIdleInactive="10*1000" minReadTimeout="10*1000" minWriteTimeout="20*1000"/>
<log level="INFO" sizePerFile="50*1024" totalSize="2*1024*1024*1024" keepDays="70*30"/>
</petcat>
请解释每个标签和属性的含义。
A. <probe>标签规定了TomProbe客户端的属性。
1. username属性的值:TomProbe登录的用户名;
2. password属性的值:TomProbe登录的密码;
3. maxConnections属性的值:本Petcat支持的TomProbe最大同时用户数。
B. <mem>标签规定了Petcat内存快用光时的属性。
1. minGap属性的值:单位为byte, 当Petcat的最大内存与在用内存的差小于或等于minGap的值时,Petcat就认为“内存快用光了”(而停止接收新连接)。
2. minIdleInactive属性的值:单位为ms, 当Petcat内存快用光时,Petcat就会把一些既不在读也不写的普通http连接(非WebSocket和TomProbe)close掉,不活动时间越长越容易被close掉,但不活动时间小于minIdleInactive的普通http连接不会被close。
3. minReadTimeout属性的值:单位为ms, 当Petcat内存快用光时,Petcat就会把一些在读的普通http连接(非WebSocket和TomProbe)close掉,读超时时间越长越容易被close掉,但读超时时间小于minReadTimeout的普通http连接不会被close。
4. minWriteTimeout属性的值:单位为ms, 当Petcat内存快用光时,Petcat就会把一些在写的普通http连接(非WebSocket和TomProbe)close掉,写超时时间越长越容易被close掉,但写超时时间小于minWriteTimeout的普通http连接不会被close。
C. <log>标签规定了log的属性。
1. level属性的值:Petcat的log的级别,即:log的详细程度。
2. sizePerFile属性的值:单位为byte,Petcat的单个log文件的最大体积。Petcat并不是把所有的log都写在一个文件里,而是写在多个文件里。当当前log文件的体积达到sizePerFile时,就关闭该log文件,并创建新的log文件。
3. totalSize属性的值:单位为byte,Petcat的所有log文件体积总和不得超过totalSize,否则,就把keepDays天以前的log文件删除,若此时所有log文件体积总和超过totalSize,则只保留本次启动的第1个log文件和当前正在写的log文件而把其余log文件都删除。
4. keepDays属性的值:单位为天,Petcat的log文件的保留时间。Petcat启动后会把keepDays天以前的log文件删除;当所有log文件体积总和超过totalSize时,也会把keepDays天以前的log文件删除。
二、lib/tomprobe.jar里的petcat.properties的内容时这样的:
probe_username=tomcat
probe_password=probe
probe_maxConnections=5
mem_minGap=2*1024*1024
mem_minIdleInactive=10*1000
mem_minReadTimeout=10*1000
mem_minWriteTimeout=20*1000
log_level=INFO
log_sizePerFile=50*1024
log_totalSize=2*1024*1024*1024
log_keepDays=70*30
请说明它们的作用和含义。
A. petcat.properties对应petcat.xml。当Petcat单体启动时,配置从petcat.xml读取;当Petcat在SpringBoot里启动时,配置从petcat.properties读取。
B. petcat.properties的内容与petcat.xml的内容也完全对应。
probe_username、probe_password、probe_maxConnections对应petcat.xml的<probe>标签的username、password、maxConnections。
mem_minGap、mem_minIdleInactive、mem_minReadTimeout、mem_minWriteTimeout对应petcat.xml的<mem>标签的minGap、minIdleInactive、minReadTimeout、minWriteTimeout。
log_level、log_sizePerFile、log_totalSize、log_keepDays对应petcat.xml的<log>标签的level、sizePerFile、totalSize、keepDays。