TongWeb7.0常用-D参数说明
Web容器相关启动参数配置
属性 | 含义 |
---|---|
-Dtongweb.restart.interval | 设置宕机后重启的时间间隔,以秒为单位。如果不设置这个参数,默认为1秒 |
-Dmonitor.abnormal.restart | 设置服务器非正常状态时是否重启,如果不设置这个参数或者参数值不为true,表示不重启,默认为false |
-Dmonitor.interval | 设置监测时间间隔,以秒为单位。如果不设置这个参数,默认为10秒 |
-Dmonitor.hang.max | 设置允许的最大挂起线程数,如果不设置这个参数,默认为-1,表示不监测线程挂起数。设置为0表示,只要发现有一个挂起则输出堆栈 |
-Dmonitor.hang.name | 设置监测某个HTTP通道名称下的线程挂起数,如果不设置这个参数,默认为空,表示监测所有的HTTP通道线程挂起数 |
-Dtongweb.snapshotinhour | 自动生成快照一小时内可生成的快照数,可在启动脚本中通过-Dtongweb.snapshotinhour配置,默认值是5 |
-DWebModuleOnly | 服务器处理JPA、Validation、CDI、JSF的开关。设置为true表示关闭TongWeb的处理,且不支持部署JavaMail应用。默认值为false,表示开启TongWeb的处理,并支持JavaMail应用。 当-DWebModuleOnly=true时,“cdi-api”、“javamail”、“wsdl4j”、“saaj-impl”,即javamail、cdi、web service都不加载。 |
-DLoadClassCache.Disabled | 是否启禁用重复类加载快速完成缓存功能,开启后相同类型的类只加载一次,其加载成功或失败的结果将被缓存,用于提供重复类加载时的速度,默认为true表示禁用,false表示开启。注意:对于jpa应用,必需禁用该功能,原因是jpa应用会尝试在加载失败后动态构建类并再次尝试加载。 |
-DLoadClassCache.Enabled | LoadClassCache.Default.Enabled的作用与LoadClassCache.Disabled作用相反;并且LoadClassCache.Disabled为true时,LoadClassCache.Default.Enabled作用失效。 |
-DMonitorDay | 当触发快照时,监视量收集的天数是可以设置的,默认是收集最近5天的监视量,如果需要设置成其他天数,可以通过这个参数来进行设置 |
-Dopenejb.crosscontext | 对于跨上下文的访问,需要在启动脚本中配置参数: -Dopenejb.crosscontext=true |
-Dibm_heapdumpdir | 指定IBM JDK生成的堆内存镜像文件所在的文件夹。参数值必需和环境变量export IBM_HEAPDUMPDIR值相同 |
-Dibm_javacoredir | 指定IBM JDK生成的栈内存镜像文件所在的文件夹。参数值必需和环境变量export IBM_JAVACOREDIR值相同 |
-Dtongweb.X_Frame_Options | 配置Http和Ajp的X_Frame_Options响应头,可选配置参数如下。DENY:浏览器拒绝当前页面加载任何Frame页面;SAMEORIGIN:frame页面的地址只能为同源域名下的页面;ALLOW-FROM:允许frame加载的页面地址;指定为NONE或者不配置该参数则在响应头中不存在该内容。 示例:-Dtongweb.X_Frame_Options=ALLOW-FROM+https://www.bilibili.com+https://www.csdn.net |
-DjpaAutoCreate | 默认为true,如果发现persistence.xml配置的数据源不存在则自动找到一个已有数据源,并创建一个可用数据源。考虑到采用的数据源不一定是用户希望用的库,所以提供了关闭功能,即设置为false |
-DskipValidationXML | 默认为false,不开启。设置为true时则在应用部署时不会读取并解析应用中的验证框架配置文件validation.xml |
-DFullURLMode | 补充requestURI地址,设置为true表示将应用配置的重定向地址补充到requestURI中。默认值为false表示忽略 |
-DenableParallelDeploy | 为了解决部署应用多而导致启动慢的问题,设置为true表示服务器启动时并行部署非系统应用,默认为false |
-DcustomLogMoudle | 应用中存在如: Logger.getLogger("org.postgresql.Driver")获取到的Logger对象,如果业务逻辑中对其进行删除等操作可能会导致与TongWeb的日志系统产生冲突。为了解决此类问题可以设置该参数,要求配置以逗号分隔的包名前缀,匹配相应包名不被TongWeb自带的日志系统接管。如-DcustomLogMoudle=org.postgresql |
-DloadAprLib | 启动时是否加载apr链接库,默认为“false”。在通道使用io模式apr时,需要加载链接库,如果没有对应平台的链接库,需要将此参数设为false以保证服务器正常启动,同时无法使用apr io模式 |
-Djava.security.egd | 随机数获取源,解决JVM在Linux上启动慢的问题 |
-Djava.awt.headless | 如果使用headless模式处理awt程序,设置为true; 否则以字符界面启动TongWeb监控图形出不来 |
-Dibm.stream.nio | 当需要TongWeb运行于AIX上时,需要在启动脚本中有这此选项配置,它用于处理IO和NIO转换器排序问题。如果此选项设置为true,那么将使用 NIO转换器而不是IO转换器。缺省情况下,使用IO 转换器 |
-Djava.net.preferIPv4Stack | 当需要TongWeb运行于AIX上时,需要在启动脚本中有这此选项配置。设置为true时用于限制优先使用IP4地址 |
-Djavax.persistence.provider | 指定服务器JPA默认的provider实现。比如当用户希望当前服务器下面的所有应用都采用hibernate的provider实现时,可以在启动脚本中加入 -Djavax.persistence.provider= org.hibernate.ejb.HibernatePersistence |
-DRedirectWhenAbsolute | 重定向时是否将绝对路径添加到响应头的Location字段,true表示使用(包含协议名称、主机名称、端口号、应用访问名称以及资源名称),false表示不使用(只包含资源名称),默认为false |
-DstartEndpointAfterApps | 启动Tongweb时,如果需要在所有应用部署完成后,暴露监听端口、启动acceptor线程,手动添加此参数并设置为true。不添加此参数,则默认false。 |
-DenableMemAnalyse | TongAPM目前不支持对IBM JDK的内存分析,在${TongWeb_HOME}/bin/external.vmoptions中修改-DenableMemAnalyse=false,可屏蔽内存分析 |
-Djava.rmi.server.hostname | 如果需要TongWeb绑定IPv6类型的jmx地址则需要在启动脚本中指定实际的IPv6地址。在${TongWeb_HOME}/bin/external.vmoptions中添加参数的方式来支持,配置如下。 -Djava.rmi.server.hostname=[2001:da8:2004:1000:202:116:160:41] |
-Dnodeagent.background | 默认为“false”,Agent停止后,通过该Agent启动的TongWeb域会自动停止。 若将该参数设置为“true”,则TongWeb域不会停止。 配置方式: 在“${TongWeb_HOME}/agent/bin”目录下,agent启动脚本start.sh中加入“-Dnodeagent.background=true”。 |
-Dauto.restart.tongweb | 集中管理工具中设定TongWeb宕机自动启动 如果希望集中管理工具管控的TongWeb可以宕机后自启动,需要在master端进行如下配置:-Dauto.restart.tongweb=true |
-Dsingle | 如果需要支持已存在域的启动,需要设置-Dsingle=true(默认为-Dsingle=false)仅支持对该TongWeb的自启动及停止。当配置-Dsingle=true时,可以看到准确的TongWeb服务启停状态 |
-DdisableResourceCache=false | false 表示打开该功能。已加载的资源可以缓存起来,在下次请求时免去再次加载以提高响应效率。可通过设置 -DcacheFilterSuffix 参数指定不需要或不能缓存的资源,该参数的值为资源类型后缀,多种类型以英文逗号分隔,如 .class,.jsp等。 |
-DWebserviceCXF.OFF | 如果需要关闭自带webservice实现CXF的支持,则-DWebserviceCXF.OFF=true(默认)。 |
-DThreadsPoolGroup | 默认为false,不开启线程分组。当-DThreadsPoolGroup=true时,开启线程分组功能。 |
-Dcdi.passivate=true | -Dcdi.passivate=true时,应用部署时不处理CDI,同时也不加载openwebbeans-jsf包。 |
-Dcom.tongweb.jasper.runtime. BodyContentImpl.LIMIT_BUFFER | 默认为“false”。若设置为“true”,当标签缓冲区超过DEFAULT_TAG_BUFFER_SIZE设置的值时,标签缓冲区将被销毁并创建一个新的标签缓冲区。 |
-DgzipOptimize | 默认为“true”,表示将静态资源压缩后缓存。 若应用出现静态资源压缩后显示问题,建议设置为“false”,关闭该功能。 |
EJB容器相关启动参数配置
属性 | 含义 |
---|---|
-Dcluster.isolation.interval | 这个隔离时间可以在访问EJB集群的客户端的JVM参数中通过“-Dcluster.isolation.interval=300000”的方式进行配置,属性单位是毫秒。如果不配置这个属性,默认是300000,也就是5分钟 |
-Dtongweb.jndi.lookup.relaxVersion | 应用更新远程调用ejb开关设置。如果为true,每次调用的都是未退休的ejb;如果为false,同一个session请求调用的是同一个ejb |
-DstatelessUseGlobal | 场景如在tongweb-ejb-jar.xml中指定实例池的大小等参数,在控制台保存无状态会话bean默认是会覆盖的,可以配置此参数优先使用应用下面配置的池参数。默认为true,即全局配置优先 |
-DConnectionPoolDebug | 默认为false,不开启。设置为true则开启记录EJB调用连接池的分析日志 |
-Dforce_use_local_ejb=true | 访问ejb应用时,应用内部还调用了一次ejb方法,采用本地调用。 |
JDBC相关启动参数配置
属性 | 含义 |
---|---|
-Dtongweb.dataSource.eanbleMult=true | 多数据源启用开关,默认为“false”。 设置为“true”后,用户可创建多数据源连接池。 注:命令行离线模式时,需将该-D参数添加到commandstool.[bat|sh]脚本中。 |
安全相关参数配置
属性 | 含义 |
---|---|
-Dstartup.secure | 安全启动功能,可以防止通过停止脚本非法停止应用服务器,默认为false |
-Djava.security.policy | 安全管理器由一个安全策略文件来定义权限。在启动服务器时用-Djava.security.policy属性指定安全策略的全路径名 |
-Dxss_defense | xss攻击防护生效的应用名,多个应用名以逗号分隔。默认为 -Dxss_apps=console,heimdall |
-DdisableVerCode | 是否禁用控制台登录的验证码机制,true表示禁止,其它值或不存在该参数表示不禁止,默认为true |
-Djava.security.manager | 在java启动脚本中增加该参数,可以使-Djava.security.policy指定的安全策略文件生效 |
-DnotGetResource | 当用户自定义安全管理器时,加载类通过调用getResource的方式获取,如java.io.FilePermission类,会导致循环调用引起栈溢出。可以通过配置-DnotGetResource=true解决,默认为false |
-DstrictSecurity | 等保开关,true为打开 |
-DstrictSecurity.email. smtpHost=<smtp.exmail.xxx.com> | 账号找回时发送邮箱的smtpHost |
-DstrictSecurity.email.port | 账号找回时发送邮箱的端口 |
-DstrictSecurity.email.username | 账号找回时发送邮箱的账号 |
-DstrictSecurity.email.password | 账号找回时发送邮箱的密码,需要使用加密的邮箱密码 |
-DenableASDP | 开启asdp,true为开启 |
-DpatchManagement | 开启可视化管理功能 true为开启 |
-Dnever.expire | 密码永不过期,默认off为关闭,on为开启。覆盖:
|
-DprotectNet | 开启护网模式,如果为true则屏蔽页面本地上传功能,只能服务器上传 |
-Dlicense.test.check.hour=12 | 设置license过期后,停止的时间。表示上午12点检查license过期 |
-DcompatibleWithWas | 兼容was处理标签方式 |
-Djava.security.manager=com.tongweb. checkcode.CheckSystemExitSecurityManager | 防止System.exit导致进程退出 |
-Djmxmp.authenticator | JMXmp协议的域认证开关,不配置该参数,则默认为“true”,开启mp协议的域认证开关。若设置为“false”,则表示不开启认证开关。 |
-Dtongejb.serialization.class.blacklist= org.codehaus.groovy.runtime., com.tongweb.commons.collections.functors., com.tongweb.xalan, org.apache.commons.collections.functors., org.apache.xalan,java.lang.Process, javax.management. BadAttributeValueExpException, com.sun.org.apache.xalan, java.beans.beancontext.BeanContextSupport | EJB安全相关,默认黑名单参数。 |
-Dtongejb.serialization.class.whitelist | EJB安全相关,默认白名单参数。 默认为空,参数写全类名或包名,多个以逗号分割。 |
-Dremote.clientIp.whitelist | EJB安全相关,客户端IP白名单。 设置为:168.1.11.*,或正则表达式形式。 设定允许访问的EJB客户端IP。 |
-DSECURITY_ENABLED | 默认为“false”,当设置为“true”时,表示开启SecurityListener。开启SecurityListenser后,默认禁用root用户启动TongWeb。 |
-DSECURITY_MINIMUMUMASK | -DSECURITY_ENABLED设置为“true”后生效。 设置最小UMASK(MINIMUMUMASK),不设置则默认为“0007”。 |
-DSECURITY_UMASK | -DSECURITY_ENABLED设置为“true”后生效。 设置UMASK,不能小于MINIMUMUMASK,不设置则忽略UMASK验证。 |
-DSECURITY_CHECKEDOSUSERS | -DSECURITY_ENABLED设置为“true”后生效。
|
-DswitchCharacterEncoding | 若需要在应用的不同 Filter 中切换请求参数编码来重新解析请求参数,则需要将该参数设置为“true”。默认值为“false”,即不允许切换编码来重新解析请求参数,这是Servlet规范的要求。 |
-Dheimdall.ip.whitelist=XX | TongWeb节点接受远程调用的IP白名单。 用户可根据需要在master、agent或节点TW的启动参数中配置该参数。 匹配正则表达式的IP地址,可以接受远程调用。 |
日志相关启动参数配置
属性 | 含义 |
---|---|
-Dcom.tongweb.commons.logging.Log= com.tongweb.commons.logging .impl.Jdk14Logger | 指定TongWeb的日志服务实现类,当用户希望使用其他的日志服务实现类来代替TongWeb的日志服务,可以通过此参数进行设置。 |
-Daudit.log.file.maxSize | 审计日志文件按大小轮转阈值,长整数类型,单位“KB”,默认值为1048576,即10MB |
-Djava.util.logging.manager= com.tongweb.log.TongwebLogManager | 指定日志管理类,必须是LogManager的子类. 此参数为必须参数 |
-Dstartup.secure | 当配置为“true”时,执行停止脚本时需要输入用户名/密码,并且日志记录停止tongweb的用户 |
-DuseAppLogger | 默认为“false”,即tongweb接管应用日志logger。当现场出现日志logger冲突时,可以增加此参数进行屏蔽。 |
-Daccesslog.disable.xff | 当配置为“true”时,禁用访问日志格式“%{X-Forwarded-For}i”配置。默认“true”。 若需要使用访问日志格式“%{X-Forwarded-For}i”配置,则配置为“false”。 |
-Dlog.buff.optimization | 当日志队列满时,可选择丢弃日志或者等待。默认不配置该参数,使用“等待”策略。 若配置该参数,则取值为“0-1”之间。该参数取值越大丢的日志越多,日志性能越好。 |
-Dtongweb.traceId | 是否开启打印浏览器响应头的流水号信息,用于追踪验证。默认为“false”不开启。 设置“true”后,即可开启打印流水号信息。
|
事务相关启动参数配置
属性 | 含义 |
---|---|
-DGT_ENABLED | 是否开启全局事务支持功能,默认值为false,即不开启 |
-DTX_RECOVERY | 是否开启事务日志和恢复功能,默认值为false,即不开启 |
-DuseBeanManagerInCompJNDI | 是否往全局jndi树上注册“BeanManager”,true表示注册,默认false表示不注册。该配置用于解决和应用自带BeanManager冲突问题 |
-DjvProfile | 是否支持Validation和jpa的开关,默认true表示关闭,false表示开启。 |
-Dspringboot.symbiotic | 当-DWebMoudleOnly=true时,使应用-DWebMoudleOnly=true时,仍旧能lookup 到自身事务管理器 |
-DenableClientDataSource | 是否使用客户端数据源,默认为“false”表示不使用客户端数据源。设置为“true”时,表示使用客户端数据源。 客户端数据源:EJB远程调用返回数据源基本参数,重新建立JDBC连接,共享数据源连接、用户名、密码配置。 |
目录相关启动参数配置
属性 | 含义 |
---|---|
-Dtongweb.java=${JAVA_HOME} | JDK安装的根目录。当用户需要更换TongWeb使用的jdk路径的时候,可以设置这个参数。 |
-Dtongweb.upload | 临时目录下的存放所上传的应用的目录。 通常为${TongWeb_HOME}/temp/upload。当用户需要更换其他路径作为上传应用目录的时候,可以对此参数进行设置 |
-Dtongweb.app | 已部署应用的目录,在脚本中必须设置为${TongWeb_HOME}/deployment |
-Dtongweb.sysapp | TongWeb系统应用的目录,例如管理控制台console就在这个目录下。在脚本中必须设置为${TongWeb_HOME}/applications |
-Dtongweb.home | TongWeb的安装路径${TongWeb_HOME},所设参数值为一个文件夹,该文件夹下包含TongWeb的bin、conf、lib等文件夹 |
-Djava.io.tmpdir | TongWeb产生的临时文件以及应用预编译文件所在的目录 |
-Duser.dir | TongWeb的启动脚本和停止脚本所在的目录 |
-Djava.endorsed.dirs | 在这个目录下的某种标准的实现将重载JDK内对该标准的实现,如果不设这个参数,默认指向JAVA_HOME下的lib\endorsed目录。如${TongWeb_HOME} \lib\endorsed |
会话相关启动参数配置
属性 | 含义 |
---|---|
-DSharedSessionEnabled | 应用共享Session开关。设置为true,各个应用使用共享的session,默认false表示关闭 |
-DSharedSessionContext | 创建Session时,是否使用http请求里基于Cookie附带的Session ID。默认false表示关闭,创建Session时会自动生成随机ID。开启后则复用Cookie里的ID。该功能一般在跨应用或跨进程实现SSO时使用 |
-DuseLegacyCookieProcessor | 设置cookie处理器为LegacyCookieProcessor,默认false |
-DuseBioParseHeaders | 使用bio的解析header实现,当出现cookie中包含有中文或其他特殊字符或换行符,导致bio可以获取cookie而nio获取为null的情况下,使用此参数 |