Spring Boot Sping Boot 2.7.8或3.x升级- Tomcat HTTP状态404 -在Azure上找不到

dtcbnfnu  于 2023-02-04  发布在  Spring
关注(0)|答案(2)|浏览(498)

我目前正在将一个应用程序从 Boot 升级到SpringBoot3.0.2,并在tomcat上遇到了404。
有趣的是,应用程序在我的本地计算机上运行良好,但在Azure Cloud中运行不好。我将org.springframework.web的日志级别设置为DEBUG,而在Sping Boot 2.7.7中,我在日志中看到了收到的调用(在Azure上)用于执行器/信息,而在Sping Boot 3中,我看到应用程序成功启动,但没有进一步的日志。有什么想法吗?或者我可以尝试进一步调试什么?

hs1ihplo

hs1ihplo1#

我在Sping Boot 2.7.8版本中遇到了同样的问题,表现完全相同:在IDE中本地启动应用程序以及在本地启动Docker映像工作得很好。当在Azure中将此映像作为应用程序服务运行时,不会弹出任何http调用。对我来说,Tomcat似乎有一个问题,因为404似乎是由Tomcat生产的。降级到Sping Boot 2.7.7再次修复了这个问题。

xfyts7mz

xfyts7mz2#

该问题与Spring 2.7.8中Tomcat版本的变更(因此也与Sping Boot 3.x)有关,该变更与Docker /Azure中使用的Java-Agent有关。
在Docker-Image中更新到最新的java-agent版本:
停靠文件

FROM eclipse-temurin:17

COPY "myBuiltApplication.jar" "app.jar"
ADD "https://github.com/microsoft/ApplicationInsights-Java/releases/download/**3.4.8**/applicationinsights-agent-*3.4.8*.jar" "agent.jar"

EXPOSE 80
ENTRYPOINT [ "java", "-javaagent:agent.jar", "-jar", "app.jar"]

确保没有其他代理从Azure处于活动状态
我必须从docker运行中删除JAVA_TOOL_OPTIONS和StartupBootstrapper:

- docker run -d --expose=80 --name myapp
  JAVA_TOOL_OPTIONS=-javaagent:/agents/java/applicationinsights-agent-codeless.jar -e StartupBootstrapper=Microsoft.ApplicationInsights.StartupBootstrapper -e

相关问题