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

相关推荐
sp4216 小时前
漫谈 Java 轻量级的模板技术:从字符串替换到复杂模板
java·后端
2301_7951672016 小时前
玩转Rust高级应用. ToOwned trait 提供的是一种更“泛化”的Clone 的功能,Clone一般是从&T类型变量创造一个新的T类型变量
开发语言·后端·rust
草莓熊Lotso16 小时前
C++ 方向 Web 自动化测试实战:以博客系统为例,从用例到报告全流程解析
前端·网络·c++·人工智能·后端·python·功能测试
一 乐16 小时前
旅游|内蒙古景点旅游|基于Springboot+Vue的内蒙古景点旅游管理系统设计与实现(源码+数据库+文档)
开发语言·前端·数据库·vue.js·spring boot·后端·旅游
JaguarJack16 小时前
15 个 Eloquent 高级技巧,瞬间提升你的 Laravel 应用性能
后端·php·laravel
YDS82916 小时前
苍穹外卖 —— Spring Cache和购物车功能开发
java·spring boot·后端·spring·mybatis
苍老流年16 小时前
1. SpringBoot初始化器ApplicationContextInitializer使用与源码分析
java·spring boot·后端
星光一影16 小时前
基于SpringBoot智慧社区系统/乡村振兴系统/大数据与人工智能平台
大数据·spring boot·后端·mysql·elasticsearch·vue
leonardee16 小时前
Spring 中的 @ExceptionHandler 注解详解与应用
java·后端
组合缺一16 小时前
(对标 Spring)OpenSolon v3.7.0, v3.6.4, v3.5.8, v3.4.8 发布(支持 LTS)
java·后端·spring·web·solon