我想创建一个Spring Boot REST Web 服务并在传统 Websphere 9应用程序服务器中部署和发布它。可能吗 ?我可能会遇到哪些挑战?有人可以给我一些参考吗?
2 回答
是的,这是可以做到的。这不是一个好的设计,但是可以做到。回到我在一家大银行工作的那一天,他们在 IBM websphere 中部署了 java spring-boot 微服务(不是 liberty)。
怎么做?
1)将您的可部署打包为战争。您可以通过编辑您的 pom 以打包为 WAR 来做到这一点。
2) 您可以在 springboot 启动类中添加连接字符串配置,也可以在 websphere 实例中创建一个 JNDI。我们观察到,当应用程序使用 websphere JNDI 而不是应用程序创建的连接 bean 时,API 的性能有所提高。
3) 如果您使用 IBM MQ,最好的做法是在 MQ 上创建一个非 ssl 和基于 ssl 的通道,以及一个用于 MQ 连接的 JNDI。
4) 如果您计划像我们一样在应用程序中创建 MQ 连接 bean,请确保 JKS 文件具有您组织的所有有效签名者集。
我们面临的问题
1)我们的应用程序使用了很多第三方规则引擎,如drools,所以确保websphere server.xml配置为servlet 3.1或更高版本
2) Webshpere 管理控制台很有帮助,但不要盲目相信它是否对您的容器显示绿色,请始终检查您的应用程序日志是否有错误。
3) 常见的痛点是与 IBM MQ 主机建立成功连接。让 MQ 服务器管理员解决所有 MQRC 错误。
4) 如果您计划使用 Oracle 作为后端,请确保 DBA 已为您创建了一个钱包以启用 SSL 和非 SSL 连接。一些组织对非 sssl 数据库连接很挑剔。如果您将 webspehere JNDI 用于 DB 连接,则处理这一切会更容易。
让我知道这是否有帮助。
WebSphere 传统和 WebSphere Liberty 都支持 Spring 引导。
你在寻找这样的东西吗?
http://www.adeveloperdiary.com/java/spring-boot/deploy-spring-boot-application-ibm-liberty-8-5/