在WebSphere 9上运行Spring Boot应用程序

时间:2017-01-20 01:44:07

标签: java spring-boot websphere web-deployment spring-boot-gradle-plugin

我是一个带有主类的Spring Boot应用程序:

@Path("...")
public class SomeRestService {

    @Resource(name="java:jboss/datasources/my_db")
    private DataSource ds;

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public MyPojo someResource() {

        try(Connection con = ds.getConnection()) {
            ...
        }

    }

}

使用@SpringBootApplication public class MyApplication extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(MyApplication .class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application){ return application.sources(applicationClass); } private static Class<MyApplication > applicationClass = MyApplication .class; }

gradle.build

当我尝试在WebSphere Application Server 9.0 Traditional上部署war文件时,它会启动但需要很长时间。没有war文件,服务器启动和停止非常正常,但是对于应用程序,服务器挂起。

我错过了什么吗?

谢谢你的帮助!!

1 个答案:

答案 0 :(得分:0)

启动延迟可能是由CDI的隐式bean归档扫描引起的。如果您不使用CDI,则可以使用com.ibm.ws.cdi.enableImplicitBeanArchives=false禁用隐式Bean归档。

您可以在本技术说明中找到更详细的解释:
Custom Properties for improving application startup in WebSphere Application Server