SpringBoot 2.x 集成宝兰德中间件 9.5.2:5步完成Tomcat替换与WAR包部署

SpringBoot 2.x 集成宝兰德中间件 9.5.2:5步完成Tomcat替换与WAR包部署

1. 环境准备与依赖调整

在开始迁移前,确保开发环境满足以下基础要求:

  • JDK 1.8或以上版本
  • Maven 3.5+构建工具
  • SpringBoot 2.x项目结构
  • 宝兰德中间件9.5.2安装包

关键依赖调整需要修改pom.xml文件,首先排除默认的Tomcat依赖:

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency>

接着添加宝兰德的核心依赖组件:

<dependency> <groupId>com.bes.appserv-web</groupId> <artifactId>bes-lite-spring-boot-2.x-starter</artifactId> <version>9.5.2.008</version> </dependency> <dependency> <groupId>com.bes.appserv-web</groupId> <artifactId>bes-gmssl</artifactId> <version>9.5.2.008</version> </dependency>

提示:如果项目中使用WebSocket或JSP,需额外引入对应的扩展依赖包

2. 项目打包配置调整

将默认的JAR打包方式改为WAR格式:

<packaging>war</packaging>

修改后的打包配置对比:

配置项原值新值
packagingjarwar
容器依赖内置外置
启动方式main容器

在src/main/webapp目录下创建WEB-INF文件夹(若不存在),这是传统Java Web应用的标准结构。

3. 启动类适配改造

继承SpringBootServletInitializer并重写configure方法:

@SpringBootApplication public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(Application.class); } public static void main(String[] args) { SpringApplication.run(Application.class, args); } }

关键改造点说明:

  1. 类声明继承SpringBootServletInitializer
  2. 重写configure方法指定配置源
  3. 保留main方法支持开发时直接启动

4. 构建与打包流程

执行Maven打包命令:

mvn clean package -DskipTests

构建完成后会在target目录生成WAR文件,检查文件结构应包含:

  • WEB-INF/
    • lib/(依赖库)
    • classes/(编译类文件)
  • META-INF/(元信息)

注意:构建时需确保所有宝兰德依赖已正确安装到本地Maven仓库

5. 控制台部署实战

通过宝兰德管理控制台完成应用部署:

  1. 访问控制台地址:http://服务器IP:1900/console
  2. 使用管理员账号登录
  3. 进入"应用管理"→"部署应用"
  4. 上传生成的WAR文件
  5. 设置应用上下文路径
  6. 启动应用并验证

部署过程中的常见问题及解决方案:

问题现象可能原因解决方案
启动时报类冲突Tomcat残留依赖检查依赖排除是否彻底
控制台显示部署失败文件权限不足检查宝兰德安装目录权限
应用访问404上下文路径配置错误检查控制台部署配置
数据库连接失败数据源配置未生效验证bes-jdbcra依赖是否正确

高级配置与优化建议

对于生产环境部署,建议进行以下增强配置:

性能调优参数

# 连接池配置 bes.connection-pool.max-size=50 bes.connection-pool.min-size=10 bes.connection-pool.timeout=30000 # JVM参数 -server -Xms2g -Xmx2g -XX:+UseG1GC

日志集成方案

  1. 在src/main/resources下添加logback-spring.xml
  2. 配置宝兰德专用Appender
  3. 设置合理的日志滚动策略

集群部署注意事项

  • 确保所有节点使用相同版本中间件
  • 共享文件系统用于会话持久化
  • 配置负载均衡策略

实际项目中曾遇到一个典型问题:当同时存在Vue前端和SpringBoot后端时,建议采用分离部署方案。前端构建产物可通过宝兰德静态资源服务托管,后端API单独部署为WAR,这种架构既保持开发便利性又符合生产环境要求。