Ho un'applicazione di avvio a molla molto semplice che desidero distribuire a Jboss EAP. Ecco la mia semplice classe di applicazione:springBoot application su Jboss EAP, contesto servlet non bloccato
@SpringBootApplication
public class MayurApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(MayurApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(applicationClass);
}
private static Class<MayurApplication> applicationClass = MayurApplication.class;
}
@RestController
class GreetingController {
@RequestMapping("/hello/{name}")
String hello(@PathVariable String name) {
return "Hello, " + name + "!";
}
}
e il mio pom.xml è anche molto semplice. Quando eseguo questa applicazione su Tomcat, utilizzo il Tomcat incorporato che viene fornito con l'avvio a molla. Tutto funziona come fascino in un solo clic. Posso accedere a http://localhost:8080/demo/hello/World
e funziona anche.
Ora ho provato a renderlo compatibile con JBoss EAP, ho disabilitato Tomcat escludendo da spring-boot-starter-web e convertendolo in un progetto di guerra. (come suggerito dall'articolo http://spring.io/blog/2014/03/07/deploying-spring-boot-applications).
ho anche aggiunto:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>,
come si lamentava.
Ora, dopo tutto questo, ricompila bene e crea anche una guerra. Quando ho copiato questa guerra per la distribuzione di jboss, posso vederlo distribuito correttamente su console. Ma l'API REST http://localhost:8080/demo/hello/World
semplicemente non funziona e costantemente tiri errore del browser:
JBWEB000068: message /demo/hello/World
JBWEB000069: description JBWEB000124: The requested resource is not available.
Che cosa sto facendo di sbagliato?
In realtà, ora sono in grado di distribuire più applicazioni Spring Boot con JBoss 6. La chiave per questo risultato è stata l'utilizzo del jboss-scanning.xml distribuito nel jar per dire a JBoss di non provare e caricare ogni classe in Autoconfigure lib . Ci sono anche altri ritocchi che ho intenzione di scrivere ma jboss-scanning.xml era la chiave. – juice