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

相关推荐
智驭未来掌门人13 小时前
利用FFmpeg快速实现一个RTSP推流服务器
后端
垚垚学技术_聚焦云原生14 小时前
K8s Pod 完整生命周期详解
后端
JavaGuide14 小时前
Github 史诗级故障,与此同时,Cursor 版「GitHub」正式上线!
前端·后端
不一样的少年_14 小时前
修了 Bug、做了重构,为什么老板还是觉得你没产出?
前端·后端·程序员
水深火乐14 小时前
安全地生成验证码、密码和 Token
后端
小强198814 小时前
SQL Server 慢查询怎么定位?一套从“卡”到“快”的完整排查流程
后端
水深火乐14 小时前
interface和any
后端
步行cgn14 小时前
MyBatis Error evaluating expression ‘ids‘. Return value (3) was not iterable 错误详
java·后端
神奇小汤圆14 小时前
Spring Boot + LangChain4j实现RAG——从零搭建企业级知识库问答系统
后端
H_Peak14 小时前
Python运算符与流程控制:if条件判断
后端