gpt4 book ai didi

JBOSS EAP 6.2.4 上的 Spring Boot REST API 部署

转载 作者:行者123 更新时间:2023-12-02 08:50:22 24 4
gpt4 key购买 nike

我正在创建一个新的 Angular UI 和几个将从 Angular UI 调用的 Web 服务。我使用 Spring Boot 和 Spring 工具套件创建了所有 Web 服务。我在括号上对角度进行了编码。一切都运转良好。

现在是时候将该代码移至生产环境了。我们的生产环境是Jboss EAP 6.4。我获取了 Angular 代码并成功使其在 Jboss 服务器上运行。但我在使用 RESTful Web 服务时遇到问题。我使用 - http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#build-tool-plugins-maven-packaging 中的说明转换服务以创建 WAR 文件。

@RestController
@RequestMapping("/fusiontables/")
public class HeatMapUploadController {

@Autowired
private HeatMapService mapQueryJsonService;

@RequestMapping(value="/upload", method=RequestMethod.POST)
@ResponseBody
public String getBoundaries(HeatMapUploadCommand uploadCommand) {
System.out.println("Data is " + uploadCommand);
return mapQueryJsonService.getMapQueryJson(uploadCommand);
}
}

在 application.properties 中我添加了以下内容server.servlet-path=/*

这些是我的 Maven 依赖项

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<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-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.13</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>

但是当我调用 Web 服务时,我收到 404。当我执行 maven 打包时,我不会收到任何错误,并且如果我说在服务器上运行并选择 Jboss EAP 6.2.4,则从 STS 不会收到任何错误。我看到很多其他人也问了同样的问题。

这是我收到的唯一警告

19:56:47,462 WARN  [org.jboss.as.ee] (MSC service thread 1-4) JBAS011006: Not installing optional component org.springframework.http.server.ServletServerHttpAsyncRequestControl due to an exception (enable DEBUG log level to see the cause)
19:56:47,463 WARN [org.jboss.as.ee] (MSC service thread 1-4) JBAS011006: Not installing optional component org.springframework.web.context.request.async.StandardServletAsyncWebRequest due to an exception (enable DEBUG log level to see the cause)
19:56:47,889 WARN [org.jboss.as.ee] (MSC service thread 1-1) JBAS011006: Not installing optional component org.springframework.http.server.ServletServerHttpAsyncRequestControl due to an exception (enable DEBUG log level to see the cause)
19:56:47,889 WARN [org.jboss.as.ee] (MSC service thread 1-1) JBAS011006: Not installing optional component org.springframework.web.context.request.async.StandardServletAsyncWebRequest due to an exception (enable DEBUG log level to see the cause)



19:56:52,391 INFO [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/chartis-services]] (ServerService Thread Pool -- 53) Initializing Spring embedded WebApplicationContext
19:56:52,392 INFO [org.springframework.web.context.ContextLoader] (ServerService Thread Pool -- 53) Root WebApplicationContext: initialization completed in 2652 ms
19:56:53,003 INFO [org.springframework.boot.context.embedded.ServletRegistrationBean] (ServerService Thread Pool -- 53) Mapping servlet: 'dispatcherServlet' to [/]
19:56:53,004 INFO [org.springframework.boot.context.embedded.FilterRegistrationBean] (ServerService Thread Pool -- 53) Mapping filter: 'errorPageFilter' to: [/*]
19:56:53,005 INFO [org.springframework.boot.context.embedded.FilterRegistrationBean] (ServerService Thread Pool -- 53) Mapping filter: 'metricFilter' to: [/*]
19:56:53,005 INFO [org.springframework.boot.context.embedded.FilterRegistrationBean] (ServerService Thread Pool -- 53) Mapping filter: 'characterEncodingFilter' to: [/*]
19:56:53,006 INFO [org.springframework.boot.context.embedded.FilterRegistrationBean] (ServerService Thread Pool -- 53) Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
19:56:53,006 INFO [org.springframework.boot.context.embedded.FilterRegistrationBean] (ServerService Thread Pool -- 53) Mapping filter: 'httpPutFormContentFilter' to: [/*]
19:56:53,006 INFO [org.springframework.boot.context.embedded.FilterRegistrationBean] (ServerService Thread Pool -- 53) Mapping filter: 'requestContextFilter' to: [/*]
19:56:53,006 INFO [org.springframework.boot.context.embedded.FilterRegistrationBean] (ServerService Thread Pool -- 53) Mapping filter: 'webRequestLoggingFilter' to: [/*]
19:56:53,006 INFO [org.springframework.boot.context.embedded.FilterRegistrationBean] (ServerService Thread Pool -- 53) Mapping filter: 'applicationContextIdFilter' to: [/*]
19:56:53,210 INFO [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter] (ServerService Thread Pool -- 53) Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@790420d7: startup date [Tue May 31 19:56:49 MST 2016]; root of context hierarchy
19:56:53,286 INFO [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] (ServerService Thread Pool -- 53) Mapped "{[/fusiontables/upload],methods=[POST]}" onto public java.lang.String com.amex.chartis.services.controller.HeatMapUploadController.getBoundaries(com.amex.chartis.services.command.HeatMapUploadCommand)
19:56:53,288 INFO [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] (ServerService Thread Pool -- 53) Mapped "{[/fusiontables/legend],methods=[POST]}" onto public java.lang.String com.amex.chartis.services.controller.HeatMapUploadController.getLegend(com.amex.chartis.services.command.HeatMapUploadCommand)
19:56:53,288 INFO [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] (ServerService Thread Pool -- 53) Mapped "{[/fusiontables/allzips],methods=[POST]}" onto public java.lang.String com.amex.chartis.services.controller.HeatMapUploadController.getAllZips(com.amex.chartis.services.command.HeatMapUploadCommand)
19:56:53,289 INFO [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] (ServerService Thread Pool -- 53) Mapped "{[/zip/byradius],methods=[POST]}" onto public java.lang.String com.amex.chartis.services.controller.ZipUploadController.getRadialDistance(com.amex.chartis.services.command.ZipUploadCommand)
19:56:53,295 INFO [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] (ServerService Thread Pool -- 53) Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
19:56:53,296 INFO [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] (ServerService Thread Pool -- 53) Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)

最佳答案

我添加了以下 onStartup 并解决了问题

@Override
public void onStartup(ServletContext container) throws ServletException {
WebApplicationContext context = getContext();
ServletRegistration.Dynamic registration = container.addServlet("dispatcher", new DispatcherServlet(context));
registration.setLoadOnStartup(1);
registration.addMapping("/*");
super.onStartup(container);
}

private WebApplicationContext getContext() {
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
context.setConfigLocation(Application.class.getName());
return context;
}

关于JBOSS EAP 6.2.4 上的 Spring Boot REST API 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37558934/

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