gpt4 book ai didi

tomcat - Cloud Foundry 中的上下文路径路由问题

转载 作者:行者123 更新时间:2023-11-28 21:56:14 24 4
gpt4 key购买 nike

我目前正在将动态 Java 应用程序(基于 servlet)部署到 Cloud Foundry Java 构建包 (Tomcat)。

我们正在使用基于上下文路径的路由。对于 Spring应用程序,我们在应用程序属性文件或 Dserver.contextPath 中设置上下文路径,两者都可以正常工作。

我们如何设置非 Spring Java 应用程序的上下文路径以在 Cloud Foundry Tomcat 容器上运行?我们尝试了以下选项,但在连接到路由时出现 404 错误。

cf set-env my-application JBP_CONFIG_TOMCAT '{tomcat: { context_path: /first-segment/second-segment }}'

最佳答案

How to set context path to non spring java applications to work on cloud foundry tomcat container?

您的语法应该有效。我测试了 cf set-env JBP_CONFIG_TOMCAT '{tomcat: {context_path: "/spring-music"}}' 并且它工作正常。您还可以使用 cf set-env JBP_CONFIG_TOMCAT '[tomcat: {context_path: "/spring-music"}]' 这对我也有用。

使用 manifest.yml 的示例:

---
applications:
- name: spring-music
memory: 512M
host: spring-music-example
path: build/libs/spring-music.war
env:
JBP_CONFIG_TOMCAT: '[tomcat: {context_path: "/spring-music"}]'

这导致 Spring Music 在 http://spring-music-example.example.com/spring-music 可用。 , 而不是默认的 http://spring-music-example.example.com/ .

这在与基于路径的路由(即 cf push --route-pathcf create-route --path)结合使用时也能很好地工作。

如果它不工作:

  1. 检查您是否已重新加载您的应用或通过 cf push 应用更改。
  2. 检查您使用的是不是最新版本的 Java 构建包。我用 3.14 测试过,它有效。
  3. 检查您的 Java 构建包的 config/tomcat.yml 文件的版本(即 this )。该文件定义了配置选项的层次结构,并且偶尔会发生变化。确保您设置的内容与您构建包版本中的文件匹配。

希望对您有所帮助!

关于tomcat - Cloud Foundry 中的上下文路径路由问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42844655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com