我们正在尝试改变我们管理QA环境的方式。
到目前为止,我们已经使用Adobe安装程序安装了一个修改后的Tomcat。
我们想使用CommandBox工具来管理QA服务器,该工具使用war文件在JEE安装模式下安装Coldfusion,但任何受支持的JEE应用服务器的情况都是类似的。(EAP, Wildfly, Tomcat).
我们在JEE安装模式下使用Coldfusion的经验很少,因此出现了一些关于JVM设置的问题。
下面是我们使用Adobe标准安装程序安装CF后获得的JVM设置,访问Coldfusion (CF)管理员(这里是CF2018的新安装):
--add-modules=java.xml.ws
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/sun.util.cldr=ALL-UNNAMED
--add-opens=java.base/sun.util.locale.provider=ALL-UNNAMED
--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
-Dcoldfusion.classPath={application.home}/lib/updates,{application.home}/lib,{application.home}/lib/axis2,{application.home}/gateway/lib/,{application.home}/wwwroot/WEB-INF/cfform/jars,{application.home}/wwwroot/WEB-INF/flex/jars,{application.home}/lib/oosdk/lib,{application.home}/lib/oosdk/classes
-Dcoldfusion.home={application.home}
-Dcoldfusion.jsafe.defaultalgo=FIPS186Random
-Dcoldfusion.libPath={application.home}/lib
-Dcoldfusion.rootDir={application.home}
-Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true
-Djava.awt.headless=true
-Djava.locale.providers=COMPAT,SPI
-Djava.security.auth.policy={application.home}/lib/neo_jaas.policy
-Djava.security.policy={application.home}/lib/coldfusion.policy
-Djava.util.logging.config.file={application.home}/lib/logging.properties
-Djdk.attach.allowAttachSelf=true
-Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true
-Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.JavaUtilLog
-Dsun.font.layoutengine=icu
-XX:+UseParallelGC
-XX:MaxMetaspaceSize=192m
-Xbatch
-Xdebug
-Xms256m
-Xmx1024m
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=6006
-server
Q1。Coldfusion war内部包含JVM设置(我们已经在上面写过),并将在部署期间应用它?
Q2。如果答案是否定的!根据所使用的JEE应用服务器,有哪些设置是适用的(例如,有些设置对Tomcat是可以的,但对wildfly就没有意义了)。
我们能够从Adobe找到Coldfusion 2018的特定文档(https://helpx.adobe.com/it/coldfusion/installing/coldfusion-2018-install-jee-configuration.html)。与标准设置相比,设置的数量少得令人难以置信!:
-Djava.locale.providers=COMPAT,SPI
-Dcoldfusion.disablejsafe=true
-Djdk.attach.allowAttachSelf=true
-Djdk.serialFilter= !org.mozilla.**;!com.sun.syndication.**
我们无法找到Coldfusion 2021(最新版本)的类似文档。
到目前为止,试图从Adobe获得帮助一直没有产生有效的结果。
Thanks in advance
Adobe不会帮助您通过CommandBox支持安装,您需要与Ortus Solutions讨论这一点。CF Admin for Standard中可用的每个JVM设置都不会显示在CF Enterprise的UI中。您正在为您拥有的实例(非cb版本)寻找CF安装文件夹,找到一个名为jvm.config
的文件。
https://www.cfguide.io/coldfusion-administrator/server-settings-java-jvm/
在ColdBox中,您可以通过命令行设置所有内容,或者使用server.json
文件进行相同的配置。
https://commandbox.ortusbooks.com/embedded-server/configuring-your-server/jvm-args
下面是我在Mac上安装的CB的一个例子,我正在运行一个旧版本的CF,需要一个旧的JDK,但我也设置了heapSize
。
{
"jvm": {
"javaHome": "/Library/Java/JavaVirtualMachines/jdk1.7.0_15.jdk/Contents/Home",
"heapSize": 1024
}
}
我的建议是
- 导出您现有的CF管理设置到
.car
文件 - 登录你的ColdBox服务器的CF Admin
- 导入
.car
文件 - 调整QA服务器的所有设置(DSN等)
- 转到命令行并安装CFConfig插件
- 导出所有CF管理设置到JSON文件(说明在他们的文档)
- 将其保存到私人仓库或您的秘密/密码库。
- 加入BoxTeam Slack,在那里您可以找到CommandBox社区并提出更多问题。