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的情況下,使用此參數 |