Spring Boot 项目国产化适配东方通实践指南

Spring Boot 项目国产化适配东方通实践指南

在信创产业蓬勃发展的当下,将 Spring Boot 项目适配国产化中间件成为众多企业技术升级的重要需求。东方通作为国产中间件的领军者,其 TongWeb 服务器具备高可靠性、高性能等特点,能够为企业应用提供坚实的运行基础。本文将详细介绍如何将 Spring Boot 项目适配东方通,助力企业完成技术栈的国产化转型。

一、获取东方通资源

进入东方通官网,在页面中找到"服务与支持"选项。点击进入后,下拉页面选择"在线使用",并提交使用申请。在申请过程中,需如实填写个人信息、公司信息,并申请产品临时授权文件。提交申请后,东方通销售人员会通过申请人手机号添加微信(若手机号绑定微信号)进行后续沟通,并发送相关资料包。资料包通常为压缩文件形式。

  • 往下拉,选择在线试用,申请使用后填写个人信息及公司信息及产品申请临时授权文件
  • 填写申请信息及使用产品信息
  • 获取资料

填写完毕后会有任务联系你,这里不是实时的,估计要等到销售人员看到你的申请后,会通过你的手机号添加微信联系你,因为我的手机号是微信号。然后会给你发资料包,如下图我收到的是个压缩文件包。

  • 解压后内容

二、依赖安装与配置

将收到的压缩文件解压。由于本地测试时需要引入相关依赖的 jar 包,若没有私服权限,可选择将 jar 包安装到本地仓库。东方通提供了便捷的可执行脚本,deployMavenJarinstallMavenJar 分别对应 Windows 系统(.bat 文件)和 Linux 系统(.sh 文件)。根据实际操作系统选择执行相应脚本,若需将依赖上传到私服,则需修改 deployMavenJar 文件中的私服地址信息。我这里选择的是本地安装,执行installMavenJar脚本后,即可完成依赖的本地安装。

三、项目配置与构建

创建一个名为 springboot-web-container 的 Spring Boot 项目,该项目默认使用 Tomcat 作为 Web 容器。为适配东方通的 TongWeb,需在 pom.xml 文件中进行配置。具体步骤如下:

1. 配置 pom.xml

pom.xml 文件中区分了 Spring Boot 不同版本的适配依赖:

  • tongweb-spring-boot-starter-2.x 用于适配 Spring Boot 2.x 版本
  • tongweb-spring-boot-starter-3.x 用于适配 Spring Boot 3.x 版本

以下是具体的配置示例:

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.12</version>
        <relativePath/>
    </parent>
    <groupId>com.jianjang.study.web</groupId>
    <artifactId>springboot-web-container</artifactId>
    <version>1.0.0</version>
    <name>springboot-web-container</name>
    <description>springboot-web-container</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <profiles>
        <profile>
            <id>tomcat</id>
            <properties>
                <profiles.active>tomcat</profiles.active>
                <maven.test.skip>true</maven.test.skip>
            </properties>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <dependencies>
                <dependency>
                    <artifactId>spring-boot-starter-web</artifactId>
                    <groupId>org.springframework.boot</groupId>
                </dependency>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-test</artifactId>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>tongWeb</id>
            <properties>
                <profiles.active>tongWeb</profiles.active>
                <maven.test.skip>true</maven.test.skip>
            </properties>
            <dependencies>
                <dependency>
                    <artifactId>spring-boot-starter-web</artifactId>
                    <groupId>org.springframework.boot</groupId>
                    <exclusions>
                        <exclusion>
                            <groupId>org.springframework.boot</groupId>
                            <artifactId>spring-boot-starter-tomcat</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-test</artifactId>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>com.tongweb.springboot</groupId>
                    <artifactId>tongweb-spring-boot-starter-3.x</artifactId>
                    <version>7.0.E.6_P12</version>
                </dependency>
            </dependencies>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
    </profiles>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

2. 构建项目

编译构建项目时,使用 Maven命令。通过 -P 参数指定激活 tongWeb 配置模式,跳过测试环节,快速完成项目打包。

shell 复制代码
mvn clean package -PtongWeb -U -Dmaven.test.skip=true

四、授权与启动验证

项目编译完成后,在配置文件中添加东方通授权文件配置,指定 TongWeb 的 license 文件路径。示例如下:

properties 复制代码
# 指定tongweb东方通license文件路径
server.tongweb.license.type: file
server.tongweb.license.path: /Users/zhangjian/Documents/tools/tongweb/license.dat

完成配置后,启动项目。通过日志控制台观察启动过程,若出现与 TongWeb 相关的启动日志信息,则表明 Spring Boot 项目已成功适配东方通 TongWeb 服务器,并可正常运行。

总结

通过以上步骤,成功实现了 Spring Boot 项目对东方通 TongWeb 的国产化适配,为企业应用在信创环境下的稳定运行提供了保障。在实际应用中,企业可根据自身需求和项目特点,进一步优化配置,充分发挥国产化中间件的性能优势。

相关推荐
有来技术1 天前
Spring Boot 4 + Vue3 企业级多租户 SaaS:从共享 Schema 架构到商业化套餐设计
java·vue.js·spring boot·后端
东东5161 天前
学院个人信息管理系统 (springboot+vue)
vue.js·spring boot·后端·个人开发·毕设
三水不滴1 天前
Redis缓存更新策略
数据库·经验分享·redis·笔记·后端·缓存
小邓吖1 天前
自己做了一个工具网站
前端·分布式·后端·中间件·架构·golang
大爱编程♡1 天前
SpringBoot统一功能处理
java·spring boot·后端
好好研究1 天前
总结SSM设置欢迎页的方式
xml·java·后端·mvc
小马爱打代码1 天前
Spring Boot:第三方 API 调用的企业级容错设计
java·spring boot·后端
csdn2015_1 天前
springboot task
java·spring boot·后端
czlczl200209251 天前
Spring Boot :如何高性能地在 Filter 中获取响应体(Response Body)
java·spring boot·后端
码界奇点1 天前
基于Spring Boot和Vue3的无头内容管理系统设计与实现
java·spring boot·后端·vue·毕业设计·源代码管理