gpt4 book ai didi

java - spring boot 应用程序作为可执行 jar 运行,但不能作为部署在 jboss EAP 6 上的 war

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:45:06 24 4
gpt4 key购买 nike

我正在开发一个使用 camel 和 cxf 的 spring-boot 应用程序。我还包括 spring-boot-starter-actuator。当将应用程序作为可执行 jar 或作为部署到 Tomcat 8 的 war 执行时,执行器端点(例如/beans、/info、/env)工作正常。但是,当我将相同的 war 部署到 JBoss EAP 6 (AS 7) 时执行器端点返回 404 的 http 状态。我已尝试根据文档在我的 pom.xml 中包含以下依赖项,但没有成功。

    <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
<scope>provided</scope>
</dependency>

我的应用类看起来像

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;
import org.springframework.context.ApplicationContext;
import org.springframework.web.WebApplicationInitializer;

import java.util.Arrays;

@SpringBootApplication
public class EsbApplication extends SpringBootServletInitializer {


public static void main(String[] args) {
SpringApplication.run(EsbApplication.class, args);
}

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(EsbApplication.class);
}

}

关于如何让执行器端点在 JBoss EAP 中工作的任何想法

谢谢!

最佳答案

看起来 JBoss EAP 6 servlet 映射作为/* 而不是/

为了避免必须添加 web.xml,我必须将以下内容添加到我的 SpringBootServletInitializer 类中

@Override
public void onStartup(ServletContext container) throws ServletException {
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
ServletRegistration.Dynamic registration = container.addServlet("dispatcher", new DispatcherServlet(context));
registration.setLoadOnStartup(1);
registration.addMapping("/*"); // required JBOSS EAP 6 / AS 7
super.onStartup(container);
}

关于java - spring boot 应用程序作为可执行 jar 运行,但不能作为部署在 jboss EAP 6 上的 war,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28622037/

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