TongWeb
官方地址:https://tongtech.com/dft/pctype/25.html
TongWeb 是什么?
TongWeb是一款全面符合Java EE、Jakarta EE最新标准规范、轻量易于使用、性能强大、具有高可靠性和高安全性的应用服务器产品,可适应各类企业应用的基础环境及多种主流应用框架,支撑从开发到生产的全应用生命周期,包括便捷的开发、随需应变的灵活部署、丰富的运行时监视、高效的管理等。
TongWeb还提供容器云、微服务、监控运维等更多新技术功能,在云计算、安全、智能运维等领域持续发力,提供优质的行业解决方案。TongWeb 应用服务器已广泛地应用于电信、金融、政府、交通、能源等各种领域的企业应用中。
TongWeb技术功能成熟,可以支撑国内规模化的应用
TongWeb研发起步早,在分布式事务处理、高性能异步消息传输等核心技术研发上具备较好的技术积累,在主要功能指标和系统稳定性方面,成熟度较高。经过20多年的研发与应用,无数评测与应用验证成果,是TongWeb成熟度的见证。SPECjEnterprise基准测试的优异结果是TongWeb实力的有效证明。TongWeb紧跟国际核心技术标准
标准规范方面,TongWeb是国内既完整符合又通过JavaEE5/6/7/8
、Jakarta EE9.1
技术标准认证的产品。TongWeb 完全满足国内主流应用的技术需求,在标准支持上实现广泛兼容,支撑规模化应用。此外,TongWeb支持流行的开发框架如Struts2
、Spring
、Hibernate
、Springboot
等,而且对于使用大型框架(例如:lifery)的应用,在TongWeb上运行良好,不需要修改应用代码。国外应用服务器上的应用可以轻松移植到TongWeb上
TongWeb具备国外品牌产品的基本能力,包括但不限于:开发工具支持、集群能力、session高可用、监控、集中管理能力等,涵盖了应用的开发、部署、运维的各个方面,为应用平稳商业化运行提供全面支持。TongWeb提供了成熟的应用移植方法步骤说明和应用迁移工具,可快速实现应用移植。TongWeb具备强大的管理特性,满足用户需求
TongWeb具备统一管控、安全管理、应用性能管理等诸多管理特性,可以满足用户应用管理需求。在云平台环境下,TongWeb集群节点支持智能化自动管理,能够自动、及时、适当的根据应用负荷的变化而动态调整,调整过程不影响业务的连续运行,从而提高资源利用率、节约运营成本。
产品特点
安全性
实现基于容器的安全策略,提供动态可扩展的安全体系结构,支持国密算法(SM2/SM3/SM4等)。兼容性
支持主流和安全创新类数据库和操作系统,提供中文编码问题容错,兼容多种开源框架。成熟稳定
长期服务于国内金融、电信、政府大型核心业务系统,验证产品的成熟性和稳定性。标准规范性
完整符合并通过JavaEE5/6/7/8技术标准认证的产品,在标准支持上完全可以替代国外产品。应用性能代码级定位
TongWeb提供代码级的应用性能诊断和分析工具,可以快速定位引起性能问题的代码片段。高性能支撑
安全创新环境集群稳定支持25万在线用户并发访问,95%平均响应时间仅为478毫秒。
产品架构
应用服务器TongWeb采用微内核架构,在JVM之上,由JMX服务、类加载服务、配置服务和生命周期服务构成应用服务器的最小内核;在此微内核基础上,围绕着Web、EJB两大核心容器,构建JavaEE基础服务层和扩展服务层。
TongWeb提供了覆盖所有核心容器和服务的管理服务,用户可以通过管理服务对应用服务器内所有服务、资源和应用进行管理。
TongWeb 安装和使用
发布组件(推荐)
在 deployAll-7.0.E.6_P5.bat 文件的 set “CURRENT_DIR=%cd%” 前一行增加 JAVA_HOME 设置;
# 请设置为你本地JDK安装目录
set "JAVA_HOME=C:\Program Files\Java\jdk-1.8"
执行Bat脚步,把Jar推送到Maven私有厂库,请使用你的Maven仓库地址和厂库ID
deployAll-7.0.E.6_P5.bat "http://127.0.0.1:8081/nexus/content/repositories/central/" "central"
TongWeb 与 Spring Boot 集成
1、添加 TongWeb 的 Maven 依赖
配置tongweb
版本号:
<properties>
<tongweb.version>7.0.E.6_P5</tongweb.version>
<tongweb-license-client.version>4.4.1.3</tongweb-license-client.version>
<tongweb-gmssl.version>1.0.0</tongweb-gmssl.version>
</properties>
Spring Boot 1.x、Spring Boot 2.x 的项目,需要添加 JavaEE标准容器
的Maven依赖管理:
<dependencyManagement>
<dependencies>
<!-- For Tongweb -->
<!-- 提供web应用的核心功能依赖聚合模块 -->
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-embed-core</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 提供dubbo的核心功能依赖聚合模块 -->
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-embed-dubbo</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 提供与springboot框架集成的jdbc规范支持。适配springboot的1.x版本。 -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-data-jdbc-starter-1.x</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 提供与springboot框架集成的jdbc规范支持。适配springboot的2.x版本。 -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-data-jdbc-starter-2.x</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 与springboot集成,托管TongWeb生命周期功能支持。适配springboot的1.x版本。 -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-starter-1.x</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 与springboot集成,托管TongWeb生命周期功能支持。适配springboot的2.x版本。 -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-starter-2.x</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 与 springboot 集成,提供对 tongweb 的监控。适配 springboot 的 1.x 版本。 -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-monitor-starter-1.x</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 与 springboot 集成,提供对 tongweb 的监控。适配 springboot 的 2.x 版本。 -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-monitor-starter-2.x</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 提供springboot框架集成的websocket规范的支持。适配springboot的1.x版本。 -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-websocket-1.x</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 提供springboot框架集成的websocket规范的支持。适配springboot的2.x版本。 -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-websocket-2.x</artifactId>
<version>${tongweb.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
Spring Boot 3.x 的项目,需要添加 JakartaEE标准容器
的Maven依赖管理:
<dependencyManagement>
<dependencies>
<!-- For Tongweb -->
<!-- 提供 web 应用的核心功能依赖聚合模块。 -->
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-embed-core-3.x</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 提供 web 应用 javax el 标准核心组件模块。 -->
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-embed-el-3.x</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 提供对 JakartaEE 规范中 JSP 规范的实现支持。 -->
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-embed-jsp-3.x</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 提供 web 应用 websocket 核心组件模块。 -->
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-embed-websocket-3.x</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 与 SpringBoot 集成,托管TongWeb生命周期功能支持。适配 SpringBoot 的 3.x 版本。 -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-starter-3.x</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 提供 SpringBoot 框架集成的 WebSocket 规范的支持。适配 SpringBoot 的 3.x 版本。 -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-websocket-3.x</artifactId>
<version>${tongweb.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
响应式编程容器
的Maven依赖管理:
<dependencyManagement>
<dependencies>
<!-- 响应式编程容器核心,可结合tongweb-spring-boot-reactor-starter用于运行 spring cloud gateway 网关。 -->
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>reactor-tongweb-core</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 响应式编程容器支持http,可结合tongweb-spring-boot-reactor-starter用于运行spring cloud gateway网关。 -->
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>reactor-tongweb-http</artifactId>
<version>${tongweb.version}</version>
</dependency>
<!-- 用于运行spring cloud gateway网关。 -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-reactor-starter</artifactId>
<version>${tongweb.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
其他的Maven依赖管理:
<dependencyManagement>
<dependencies>
<!-- license-server 的客户端 -->
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-lic-sdk</artifactId>
<version>${tongweb-license-client.version}</version>
</dependency>
<!-- 提供国密 SSL 核心功能模块。 -->
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-gmssl</artifactId>
<version>${tongweb-gmssl.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
修改 pom.xml 引入依赖
移除springboot自带的tomcat, 添加tongweb相关依赖,tongweb-spring-boot-starter
和tongweb-embed
为tongweb核心依赖,必须添加,其他根据需求选择添加。
Spring Boot 1.x 的项目,
<!-- For Tongweb -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-starter-1.x</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-embed-core</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-websocket-1.x</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-lic-sdk</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-gmssl</artifactId>
</dependency>
Spring Boot 2.x 的项目
<!-- For Tongweb -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-starter-2.x</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-embed-core</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-websocket-2.x</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-lic-sdk</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-gmssl</artifactId>
</dependency>
Spring Cloud Gateway 的项目
<!-- For Tongweb Reactor -->
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>reactor-tongweb-core</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>reactor-tongweb-http</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-spring-boot-reactor-starter</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-lic-sdk</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-gmssl</artifactId>
</dependency>
Spring Boot 3.x 的项目
<!-- For Tongweb -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-starter-3.x</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-embed-core-3.x</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-websocket-3.x</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-embed-websocket-3.x</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-lic-sdk</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-gmssl</artifactId>
</dependency>
我的项目依赖如下:
<!-- For Embed Tomcat -->
<!-- <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency> -->
<!-- For Embed Jetty -->
<!-- <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency> -->
<!-- For Embed Undertow
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
<dependency>
<groupId>com.github.hiwepy</groupId>
<artifactId>undertow-metrics-prometheus</artifactId>
</dependency>-->
<!-- For Embed Tongweb -->
<!-- 提供web应用的核心功能依赖聚合模块 -->
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-embed-core</artifactId>
</dependency>
<!-- 与springboot集成,托管TongWeb生命周期功能支持。适配springboot的2.x版本。 -->
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-starter-2.x</artifactId>
</dependency>
<dependency>
<groupId>com.tongweb.springboot</groupId>
<artifactId>tongweb-spring-boot-websocket-2.x</artifactId>
</dependency>
<!-- license-server 的客户端 -->
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-lic-sdk</artifactId>
</dependency>
<!-- 提供国密 SSL 核心功能模块。 -->
<dependency>
<groupId>com.tongweb</groupId>
<artifactId>tongweb-gmssl</artifactId>
</dependency>
2、编写yml文件,license必须添加
server:
port: 8080
# TongWeb 服务器配置
tongweb:
# 设定URI的解码字符集
uri-encoding: UTF-8
# 最小工作线程,连接池中应用保护的最小空余线路数
min-spare-threads: 250
# 设置tongweb的最大工作线程数
max-threads: 2000
# 最大等待队列大小
accept-count: 1000
# 设置最大连接数
max-connections: 3500
#连接超时时间 (毫秒) 使用值 -1 表示没有(即无限)超时。 Spring Boot 1.x与Spring Boot 2.x 中涉及时间单位配置入参单位均不同,
# Spring Boot 2.x 支持ms、s、m、h、d等时间单位,默认ms,Spring Boot仅支持Int或Long型数值 默认值:20000
connection-timeout: 500000ms
# 请求体能吞下的最大数量
max-swallow-size: -1
# 最大post请求大小,单位为KB、MB。 如果不加单位默认采用Byte作为单位,
# 例: server.tongweb.max-http-post-size=1,表示1字节。 不配置该参数表示不限
max-http-post-size: 2MB
#东方通 License 相关
#license:
# type: file
# path: classpath:tongweb/license.dat
使用 TongWeb 嵌入式版时,首先需要经过 license 认证。TongWeb 嵌入式版采取读取 license.dat 文件认证的方式。
- 通过配置项 server.tongweb.license.type 指定 license 认证的方式。
- 当配置项 server.tongweb.license.type = file 时,表示 license 认证方式为文件认证。
- 如果 server.tongweb.license.type = file,需要在配置项 server.tongweb.license.path 指 定 License 文件的存放目录。
3、启动,出现如下图所示表示配置成功
参考连接
- Spring-Boot 项目东方通TongWeb改造适配: https://blog.csdn.net/qq_34433301/article/details/139848240
- 东方通TongWeb结合Spring-Boot使用:https://blog.csdn.net/qq_34908167/article/details/139125040
- 【国产化信创实践】TongWeb集成SpringBoot:https://blog.csdn.net/zhb15810357012/article/details/130727810
- 东方通中间件 - TongWeb 初级:https://blog.csdn.net/weixin_41462548/article/details/129245315
最后编辑:Jeebiz 更新时间:2024-10-05 00:01