CloudFoundry Java Buildpack:如何为Tomcat更改server.xml中的值?
我想覆盖CloudFoundry Java Buildpack:如何为Tomcat更改server.xml中的值?,java,spring,tomcat,cloud-foundry,buildpack,Java,Spring,Tomcat,Cloud Foundry,Buildpack,我想覆盖server.xml配置文件中Connector元素中的值maxPostSize属性。(将最大大小设置为1MB) 这样做的唯一方法是分叉并更改现有的server.xml配置文件吗 或者也可以在我的WAR文件中的某个地方添加一个server.xml,这样就可以使用这个文件而不是buildpack中的文件 或者我也可以使用JAVA_OPTS吗?我相信这将记录您所有的官方选项: 这两个都不是很简单 您可以考虑将应用程序更改为Spring启动应用程序。我不是引导专家,但我相信java构建包可以使
server.xml
配置文件中Connector元素中的值maxPostSize属性。(将最大大小设置为1MB)
这样做的唯一方法是分叉并更改现有的server.xml
配置文件吗
或者也可以在我的WAR文件中的某个地方添加一个server.xml
,这样就可以使用这个文件而不是buildpack中的文件
或者我也可以使用JAVA_OPTS吗?我相信这将记录您所有的官方选项: 这两个都不是很简单
<>您可以考虑将应用程序更改为Spring启动应用程序。我不是引导专家,但我相信java构建包可以使用嵌入引导的tomcat,即使包装类型是.war。在这种类型的配置中,您可能可以使用boot来自定义如何启动嵌入式tomcat,以自定义maxPostSize等内容。我相信这将记录您所有的官方选项: 这两个都不是很简单 <>您可以考虑将应用程序更改为Spring启动应用程序。我不是引导专家,但我相信java构建包可以使用嵌入引导的tomcat,即使包装类型是.war。在这种类型的配置中,您可能可以使用boot来定制它如何启动嵌入式tomcat来定制maxPostSize之类的东西 这样做的唯一方法是分叉并更改现有的server.xml配置文件吗 使用3.7+版本的Java构建包,您可以覆盖Tomcat配置,而无需分叉构建包。该特性称为“外部Tomcat配置” 下面是它工作原理的要点
- 您为您的
目录创建了一个TAR文件。它可以包含诸如tomcat/conf
、server.xml
、context.xml
之类的内容,以及通常位于Tomcat的web.xml
目录下的任何内容李>conf/
- 您可以在HTTP服务器上的某个位置托管一个
和该TAR文件。如果没有,可以使用静态文件构建包将其作为应用程序推送到CFindex.yml
- 使用环境变量
JBP\u CONFIG\u TOMCAT将Java构建包指向此配置repo。下面是一个示例:`{tomcat:{外部配置启用:true},外部配置:{存储库根:\'url\'u to\'u repo\'}}”
- 您为您的
目录创建了一个TAR文件。它可以包含诸如tomcat/conf
、server.xml
、context.xml
之类的内容,以及通常位于Tomcat的web.xml
目录下的任何内容李>conf/
- 您可以在HTTP服务器上的某个位置托管一个
和该TAR文件。如果没有,可以使用静态文件构建包将其作为应用程序推送到CFindex.yml
- 使用环境变量
JBP\u CONFIG\u TOMCAT将Java构建包指向此配置repo。下面是一个示例:`{tomcat:{外部配置启用:true},外部配置:{存储库根:\'url\'u to\'u repo\'}}”
有关HTTP服务器上文件结构的更多信息,请参见我在“帮助”页面上也找到了此选项,但是,将此文件存放在某个地方听起来确实不安全且麻烦。也许更好的选择是使用Spring Boot和自包含的Tomcat,这样我可以覆盖一些设置?这里有一个很好的问题,buildpack开发人员在评论中解释了他们为什么采用这种方法:请记住,您可以在静态应用程序中托管配置(使用很少的内存)在与应用程序相同的空间中。可能有助于减轻它的负担。如果从多个应用程序使用一种配置的角度考虑,HTTPS存储库更有意义。如果只有一个应用程序需要特殊的配置,那就有点麻烦了。将您的配置作为一个小型(例如:32M)应用程序推到CF上,会让您的配置更受欢迎。如果您反对使用HTTP服务器路径,我想您可以编写一个
.profile.d/
脚本来修改Tomcat配置。脚本可以很简单,只需复制嵌入应用程序的配置文件,也可以使用sed
或类似工具进行编辑。我在帮助页面上也找到了这个选项,但是在某个地方托管这个文件听起来很不安全,也很麻烦。也许更好的选择是使用Spring Boot和自包含的Tomcat,这样我可以覆盖一些设置?这里有一个很好的问题,buildpack开发人员在评论中解释了他们为什么采用这种方法:请记住,您可以在静态应用程序中托管配置(使用很少的内存)在与应用程序相同的空间中。可能有助于减轻它的负担。如果从多个应用程序使用一种配置的角度考虑,HTTPS存储库更有意义。如果只有一个应用程序需要特殊的配置,那就有点麻烦了。将您的配置作为一个小型(例如:32M)应用程序推到CF上,会让您的配置更受欢迎。如果您反对使用HTTP服务器路径,我想您可以编写一个.profile.d/
脚本来修改Tomcat配置。脚本可以像复制一个嵌入到应用程序中的配置文件一样简单,也可以用它来编辑