Tôi có một ứng dụng khởi động mùa xuân rất đơn giản mà tôi muốn triển khai cho Jboss EAP. Đây là lớp ứng dụng đơn giản của tôi:ứng dụng springBoot trên Jboss EAP, bối cảnh servlet không loda
@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 + "!";
}
}
và tệp pom.xml của tôi cũng rất cơ bản. Khi tôi chạy ứng dụng này trên Tomcat, sử dụng Tomcat nhúng những gì tàu với khởi động mùa xuân. Tất cả mọi thứ hoạt động như sự quyến rũ chỉ trong một cú nhấp chuột. Tôi có thể truy cập http://localhost:8080/demo/hello/World
và nó cũng hoạt động.
Bây giờ tôi đã cố gắng để làm cho nó chiến tranh tương thích Jboss EAP, tôi vô hiệu hóa Tomcat bằng cách loại trừ từ spring-boot-starter-web, và chuyển đổi nó thành một dự án chiến tranh. (theo đề xuất của bài viết http://spring.io/blog/2014/03/07/deploying-spring-boot-applications).
Tôi cũng nói thêm:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>,
như nó đã phàn nàn.
Bây giờ sau khi tất cả điều này, nó biên soạn tốt và tạo ra một cuộc chiến tranh quá. Khi tôi sao chép cuộc chiến này để triển khai jboss, tôi có thể thấy nó được triển khai thành công trên bảng điều khiển. Nhưng api còn lại http://localhost:8080/demo/hello/World
chỉ không hoạt động và không ngừng ném lỗi trên trình duyệt:
JBWEB000068: message /demo/hello/World
JBWEB000069: description JBWEB000124: The requested resource is not available.
Tôi đang làm gì sai?
Thực ra - Hiện tại tôi có thể triển khai thành công nhiều Ứng dụng Khởi động Mùa xuân bằng JBoss 6. Chìa khóa cho thành tích này là sử dụng tệp jboss-scanning.xml được triển khai trong bình để cho JBoss không thử và tải mọi lớp trong Autoconfigure lib . Có một số điều chỉnh khác cũng như tôi đã có ý nghĩa để viết lên nhưng jboss-scanning.xml là chìa khóa. – juice