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>修改后的打包配置对比:
| 配置项 | 原值 | 新值 |
|---|---|---|
| packaging | jar | war |
| 容器依赖 | 内置 | 外置 |
| 启动方式 | 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); } }关键改造点说明:
- 类声明继承SpringBootServletInitializer
- 重写configure方法指定配置源
- 保留main方法支持开发时直接启动
4. 构建与打包流程
执行Maven打包命令:
mvn clean package -DskipTests构建完成后会在target目录生成WAR文件,检查文件结构应包含:
- WEB-INF/
- lib/(依赖库)
- classes/(编译类文件)
- META-INF/(元信息)
注意:构建时需确保所有宝兰德依赖已正确安装到本地Maven仓库
5. 控制台部署实战
通过宝兰德管理控制台完成应用部署:
- 访问控制台地址:
http://服务器IP:1900/console - 使用管理员账号登录
- 进入"应用管理"→"部署应用"
- 上传生成的WAR文件
- 设置应用上下文路径
- 启动应用并验证
部署过程中的常见问题及解决方案:
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 启动时报类冲突 | 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日志集成方案:
- 在src/main/resources下添加logback-spring.xml
- 配置宝兰德专用Appender
- 设置合理的日志滚动策略
集群部署注意事项:
- 确保所有节点使用相同版本中间件
- 共享文件系统用于会话持久化
- 配置负载均衡策略
实际项目中曾遇到一个典型问题:当同时存在Vue前端和SpringBoot后端时,建议采用分离部署方案。前端构建产物可通过宝兰德静态资源服务托管,后端API单独部署为WAR,这种架构既保持开发便利性又符合生产环境要求。