1. 项目背景与需求分析最近几年国产化替代浪潮席卷整个IT行业很多传统基于国外技术栈的项目都面临着国产化改造的需求。我最近就接手了一个SpringBoot项目的国产化改造任务需要将原本运行在Tomcat上的应用迁移到国产应用服务器东方通TongWeb上。这个改造看似简单实际操作中却有不少坑。比如SpringBoot默认集成了Tomcat要换成TongWeb需要做不少调整。而且TongWeb嵌入式版的使用文档相对较少很多配置都需要自己摸索。下面我就把整个改造过程详细记录下来希望能帮到有类似需求的开发者。2. 环境准备与依赖调整2.1 获取TongWeb嵌入式版资源首先需要联系东方通官方获取嵌入式版的安装包和License文件。这里有个小技巧建议直接找东方通的技术支持他们一般会提供完整的Maven依赖坐标和License文件。我这次用的是7.0.E.6_P7版本对应的starter包是tongweb-spring-boot-starter-2.x。2.2 修改pom.xml文件改造的第一步就是调整项目的依赖配置。SpringBoot默认使用Tomcat作为内嵌容器我们需要先排除Tomcat依赖然后添加TongWeb的相关依赖!-- 修改SpringBoot Web依赖排除Tomcat -- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId exclusions exclusion groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-tomcat/artifactId /exclusion /exclusions /dependency !-- 添加TongWeb SpringBoot Starter -- dependency groupIdcom.tongweb.springboot/groupId artifactIdtongweb-spring-boot-starter-2.x/artifactId version7.0.E.6_P7/version /dependency !-- 添加TongWeb核心依赖 -- dependency groupIdcom.tongweb/groupId artifactIdtongweb-embed-core/artifactId version7.0.E.6_P7/version /dependency这里有个容易踩坑的地方TongWeb嵌入式版需要额外添加几个核心依赖包括EL表达式支持和License校验相关的包。我刚开始就漏掉了tongweb-lic-sdk导致应用启动时报License校验失败。3. License配置与验证3.1 License文件放置TongWeb嵌入式版需要有效的License才能运行。从东方通获取的license.dat文件需要放在resources目录下。我建议专门建一个tongweb目录来存放License文件这样结构更清晰src/main/resources/ └── tongweb/ └── license.dat3.2 配置文件调整接下来需要修改application.yml或application.properties配置文件。这里有两个关键点一是要把原来的tomcat配置改为tongweb二是要添加License配置server: tongweb: uri-encoding: UTF-8 license: type: file path: classpath:tongweb/license.dat注意uri-encoding这个配置很重要如果不设置可能会遇到中文乱码问题。我在测试时就发现请求参数中的中文变成了乱码加上这个配置后就正常了。4. 常见问题排查4.1 依赖冲突问题在实际迁移过程中最容易出现的就是依赖冲突。特别是当项目中使用了一些特定版本的Servlet API时可能会和TongWeb内置的版本冲突。我的建议是使用mvn dependency:tree命令检查依赖树重点关注javax.servlet相关的依赖必要时使用exclusions排除冲突的依赖4.2 启动失败排查如果应用启动失败可以按照以下步骤排查检查License文件是否正确放置查看日志中是否有明显的错误信息确认所有必需的TongWeb依赖都已添加检查SpringBoot版本是否兼容我用的SpringBoot 2.3.12.RELEASE5. 性能调优建议迁移到TongWeb后还可以做一些性能优化server: tongweb: max-threads: 200 min-spare-threads: 20 connection-timeout: 5000这些参数需要根据实际业务场景调整。比如对于高并发场景可以适当增加max-threads的值。我在压力测试时发现默认配置下性能表现已经不错但调整后QPS还能提升15%左右。6. 实际效果验证完成上述配置后启动应用就能看到控制台输出的TongWeb启动日志了。我特意做了几个验证基本的REST接口测试文件上传下载功能验证WebSocket连接测试压力测试所有功能都正常运行性能指标也达到了预期。整个迁移过程最耗时的部分其实是前期的依赖调整和问题排查一旦配置正确后后续的部署和运行都很顺利。这次改造让我深刻体会到国产中间件已经相当成熟完全能够满足企业级应用的需求。虽然过程中遇到了一些小问题但都有解决方案。如果你也在做类似的国产化改造建议预留足够的时间进行测试验证特别是要关注业务场景中的边缘情况。
SpringBoot2国产化改造:东方通TongWeb嵌入式版集成实战
发布时间:2026/5/19 11:45:39
1. 项目背景与需求分析最近几年国产化替代浪潮席卷整个IT行业很多传统基于国外技术栈的项目都面临着国产化改造的需求。我最近就接手了一个SpringBoot项目的国产化改造任务需要将原本运行在Tomcat上的应用迁移到国产应用服务器东方通TongWeb上。这个改造看似简单实际操作中却有不少坑。比如SpringBoot默认集成了Tomcat要换成TongWeb需要做不少调整。而且TongWeb嵌入式版的使用文档相对较少很多配置都需要自己摸索。下面我就把整个改造过程详细记录下来希望能帮到有类似需求的开发者。2. 环境准备与依赖调整2.1 获取TongWeb嵌入式版资源首先需要联系东方通官方获取嵌入式版的安装包和License文件。这里有个小技巧建议直接找东方通的技术支持他们一般会提供完整的Maven依赖坐标和License文件。我这次用的是7.0.E.6_P7版本对应的starter包是tongweb-spring-boot-starter-2.x。2.2 修改pom.xml文件改造的第一步就是调整项目的依赖配置。SpringBoot默认使用Tomcat作为内嵌容器我们需要先排除Tomcat依赖然后添加TongWeb的相关依赖!-- 修改SpringBoot Web依赖排除Tomcat -- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId exclusions exclusion groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-tomcat/artifactId /exclusion /exclusions /dependency !-- 添加TongWeb SpringBoot Starter -- dependency groupIdcom.tongweb.springboot/groupId artifactIdtongweb-spring-boot-starter-2.x/artifactId version7.0.E.6_P7/version /dependency !-- 添加TongWeb核心依赖 -- dependency groupIdcom.tongweb/groupId artifactIdtongweb-embed-core/artifactId version7.0.E.6_P7/version /dependency这里有个容易踩坑的地方TongWeb嵌入式版需要额外添加几个核心依赖包括EL表达式支持和License校验相关的包。我刚开始就漏掉了tongweb-lic-sdk导致应用启动时报License校验失败。3. License配置与验证3.1 License文件放置TongWeb嵌入式版需要有效的License才能运行。从东方通获取的license.dat文件需要放在resources目录下。我建议专门建一个tongweb目录来存放License文件这样结构更清晰src/main/resources/ └── tongweb/ └── license.dat3.2 配置文件调整接下来需要修改application.yml或application.properties配置文件。这里有两个关键点一是要把原来的tomcat配置改为tongweb二是要添加License配置server: tongweb: uri-encoding: UTF-8 license: type: file path: classpath:tongweb/license.dat注意uri-encoding这个配置很重要如果不设置可能会遇到中文乱码问题。我在测试时就发现请求参数中的中文变成了乱码加上这个配置后就正常了。4. 常见问题排查4.1 依赖冲突问题在实际迁移过程中最容易出现的就是依赖冲突。特别是当项目中使用了一些特定版本的Servlet API时可能会和TongWeb内置的版本冲突。我的建议是使用mvn dependency:tree命令检查依赖树重点关注javax.servlet相关的依赖必要时使用exclusions排除冲突的依赖4.2 启动失败排查如果应用启动失败可以按照以下步骤排查检查License文件是否正确放置查看日志中是否有明显的错误信息确认所有必需的TongWeb依赖都已添加检查SpringBoot版本是否兼容我用的SpringBoot 2.3.12.RELEASE5. 性能调优建议迁移到TongWeb后还可以做一些性能优化server: tongweb: max-threads: 200 min-spare-threads: 20 connection-timeout: 5000这些参数需要根据实际业务场景调整。比如对于高并发场景可以适当增加max-threads的值。我在压力测试时发现默认配置下性能表现已经不错但调整后QPS还能提升15%左右。6. 实际效果验证完成上述配置后启动应用就能看到控制台输出的TongWeb启动日志了。我特意做了几个验证基本的REST接口测试文件上传下载功能验证WebSocket连接测试压力测试所有功能都正常运行性能指标也达到了预期。整个迁移过程最耗时的部分其实是前期的依赖调整和问题排查一旦配置正确后后续的部署和运行都很顺利。这次改造让我深刻体会到国产中间件已经相当成熟完全能够满足企业级应用的需求。虽然过程中遇到了一些小问题但都有解决方案。如果你也在做类似的国产化改造建议预留足够的时间进行测试验证特别是要关注业务场景中的边缘情况。