2016-06-01 7 views
3

Ich erstelle eine neue eckige Benutzeroberfläche und ein paar Web-Services, die von angular UI aufgerufen werden. Ich habe alle Web Services mit Spring Boot und Spring Tool Suite erstellt. Ich habe für eckige Klammern geschrieben. Alles hat gut funktioniert.Spring Boot REST API-Bereitstellung auf JBOSS EAP 6.2.4

Jetzt ist es Zeit, diesen Code in die Produktion zu verschieben. Unsere Produktionsumgebung ist Jboss EAP 6.4. Ich nahm den Winkelcode und war erfolgreich in der Lage, ihn auf Jboss-Servern laufen zu lassen. Aber ich habe Probleme mit den RESTful Web Services. Ich die Dienste konvertiert eine WAR-Datei mit den Anweisungen in erstellen - http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#build-tool-plugins-maven-packaging

@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); 
    } 
} 

In den application.properties i hinzugefügt folgende server.servlet-path =/*

Das sind meine Maven Abhängigkeiten

<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> 

Aber wenn ich die Web-Service-Aufruf, ich bin immer ein 404. wenn ich maven Paket kann ich Fehler nicht bekommen, und von STS, wenn ich auf dem Server ausgeführt werden sagen, und wählen Sie Jboss EAP 6.2.4 i dont get jede Fehler. Ich sehe die gleiche Frage auch von einigen anderen.

Dies sind die einzigen Warnungen i

bekam
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[email protected]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) 
+0

Können Sie Ihre Protokollstufe festlegen, debuggen, so können wir zusätzliche Details erhalten? –

Antwort

3

Ich habe die folgende onStartup und das Problem behoben

@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; 
} 
Verwandte Themen