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 的国产化适配,为企业应用在信创环境下的稳定运行提供了保障。在实际应用中,企业可根据自身需求和项目特点,进一步优化配置,充分发挥国产化中间件的性能优势。

相关推荐
千里码aicood13 分钟前
flask-基于注意力机制的异常流量检测与自动防御系统
后端·python·flask
李迟15 分钟前
Golang实践录:工程框架实践:搭建工程模板
开发语言·后端·golang
Lynko21 分钟前
C语言指针高阶
后端
the局外人21 分钟前
学习 FastAPI 的 Day 2:用异步 ORM 完成增删改查
后端·python·fastapi
SamDeepThinking26 分钟前
if嵌套最好控制在3层以内
java·后端·程序员
苏渡苇29 分钟前
Spring Insight 里上报 Span 为什么用 JDK HttpClient 而不是 RestTemplate
java·后端·spring·spring cloud·springboot·性能监控
tonydf29 分钟前
AI驱动历史项目安全审查
后端·ai编程
她的男孩1 小时前
同一个接口,为什么销售只看到自己的订单?我拆了 681 行数据权限拦截器的源码
java·后端·架构
元界metalite1 小时前
SpringBoot接口通用响应对象设计 - 一个 Resp 管理五种责任
后端
对象存储与RustFS1 小时前
把 RustFS 跑在 Kubernetes 上:官方 Helm Chart 从单机到分布式
后端·rust·开源