springboot项目怎么样排除自带tomcat容器使用宝蓝德bes web中间件?
前言:
由于Spring Boot 1.x和2.x不兼容,BES提供了对应的Spring Boot Starter版本。 bes‑lite‑spring‑boot‑1.x‑starter.jar,适用于Spring Boot 1.x的版本。 bes‑lite‑spring‑boot‑2.x‑starter.jar,适用于Spring Boot 2.x的版本。 以下文档无特殊说明,涉及bes‑lite‑spring‑boot‑2.x‑starter.jar的操作同样适用于bes‑ lite‑spring‑boot‑1.x‑starter.jar。
一、在pom.xml中排除springboot项目中Tomcat依赖:
使用exclusion标签排除依赖,如下
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><!-- 排除内嵌的Tomcat --><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency>
</dependencies>
二、 下载宝蓝德依赖jar,并导入本地maven。
三、 安装核心依赖包到本地Maven仓库
1. bes‑lite‑spring‑boot‑2.x‑starter.jar是提供给Spring Boot应用的核心依赖Jar包,可约定坐标为:
<dependency>
<groupId>com.bes.appserver</groupId>
<artifactId>bes-lite-spring-boot-2.x-starter</artifactId>
<version>9.5.5</version>
</dependency>
2.使用mvn install将其安装到Maven本地仓库或者使用mvn deploy命令将其发布到Maven 远程仓库,例如:
mvn install:install-file –Dfile=bes-lite-spring-boot-2.x-starter.jar –DgroupId=com.bes.appserver –DartifactId= bes-lite-spring-boot-2.x-starter –Dversion=9.5.5 –Dpackaging=jar
3. 安装可选功能包到本地Maven仓库(可选):
除核心依赖之外,对于JSP功能,Websocket功能,国密支持等可选功能,提供了独立的功 能依赖包,相关jar说明和可约定坐标如下: JSP功能支持的依赖包可约定坐标:
<dependency>
<groupId>com.bes.appserv.packages</groupId>
<artifactId>bes-jasper</artifactId>
<version>9.5.5</version>
</dependency>
4. WebSocket功能支持依赖包可约定坐标:
<dependency>
<groupId>com.bes.appserv.packages</groupId>
<artifactId>bes-websocket</artifactId>
<version>9.5.5</version>
</dependency>
5. 国密通信功能依赖包可约定坐标:
<dependency>
<groupId>com.bes.appserv.packages</groupId>
<artifactId>bes-gmssl</artifactId>
<version>9.5.5</version>
</dependency>
6.Spring Boot 2.x业务应用的pom.xml文件示例如下:
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.bes.test</groupId><artifactId>springboot-demo</artifactId><version>2.0.0</version><dependencyManagement><dependencies><!--Spring Boot的基本依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.0.0.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><!--bes-lite-spring-boot-2.x-starter的依赖--><dependency><groupId>com.bes.appserver</groupId><artifactId>bes-lite-spring-boot-2.x-starter</artifactId><version>9.5.5</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.0.0.RELEASE</version><configuration><mainClass>com.bes.boot.sample.DemoApplication</mainClass></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>
</project>
四、基本配置:
Spring Boot Starter的相关配置,开发过程中默认在application.properties或者applica‑ tion.yaml文件中,打包好之后,相关的配置位于BOOT‑INF/classes/application.properties 中。
#指定server访问的端口,默认值:8080。
server.port=8087
#指定server绑定的地址,默认值:0.0.0.0。
server.address=
#指定X‑Forwarded‑*相关头信息是否应用于Http请求。
server.useForwardHeaders=
#用于服务器响应头的值(如果为空则不发送)。
server.serverHeader=
#设置http消息头最大大小,单位:字节,默认值:8192。
server.maxHttpHeaderSize=
#连接超时时间:超时后连接将被关闭。‑1表示无限制。单位:毫秒,默认值:60000。
server.connectionTimeout=
其他参数参考:
优雅关机相关配置:
server.shutdown 退出进程的方式,可以配置graceful和 immediate,默认值:immediate。
spring.lifecycle.timeout‑per‑shutdown‑phase 在该规定时间内如果线程无法执行完毕则 会被强制停机,默认值:30s。
访问日志相关配置:
server.bes.accesslog.enabled 是否开启访问日志,默认值:false。 server.bes.accesslog.pattern 指定访问日志格式,默认值:common。 server.bes.accesslog.directory 指定访问日志的目录,默认值: logs/access。 server.bes.accesslog.prefix 指定日志文件的前缀,默认值: server_access_log。 server.bes.accesslog.suffix 指定日志文件的后缀,默认值:.log。 server.bes.accesslog.rotate 是否开启访问日志轮转,默认值:true。 server.bes.accesslog.renameOnRotate 是否将时间戳添加到轮转日志文件的文件名 中,默认值:false。 server.bes.accesslog.fileDateFormat 在日志文件名中的日期格式,默认值: .yyyy‑MM‑dd。 server.bes.accesslog.requestAttributesEnabled是否开启为请求设置ip地址、主机名、协议 和端口的请求属性。 server.bes.accesslog.buffered 日志缓存:若启用,则访问日志记录先缓存 到内存中,然后定时刷新到文件中,默认 值:true。 server.bes.accesslog.rotatableByTime 按时间轮转,默认值:true。 server.bes.accesslog.rotatableBySize 按大小轮转,默认值:false。
server.bes.accesslog.rotationSize 轮转大小,rotatableBySize=true时有效, 默认值:10458760。 erver.bes.accesslog.maxHistoryFiles 最大历史文件个数,默认值:10。
相关文章:
springboot项目怎么样排除自带tomcat容器使用宝蓝德bes web中间件?
前言: 由于Spring Boot 1.x和2.x不兼容,BES提供了对应的Spring Boot Starter版本。 bes‑lite‑spring‑boot‑1.x‑starter.jar,适用于Spring Boot 1.x的版本。 bes‑lite‑spring‑boot‑2.x‑starter…...
响应式ref()和reactive()
文章目录 ref()reactive()ref对比reactivetoRefs与toRef ref() 作用:定义响应式变量。 语法:let xxxref(初始值)。 返回值:一个RefImpl的实例对象,简称ref对象或ref,ref对象的value属性是响应式的 注意点࿱…...
运维系列.Nginx中使用HTTP压缩功能
运维专题 Nginx中使用HTTP压缩功能 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550…...
vue3项目图片压缩+rem+自动重启等plugin使用与打包配置
一、Svg配置 每次引入一张 SVG 图片都需要写一次相对路径,并且对 SVG 图片进行压缩优化也不够方便。 vite-svg-loader插件加载SVG文件作为Vue组件,使用SVGO进行优化。 插件网站https://www.npmjs.com/package/vite-svg-loader 1. 安装 pnpm i vite-svg…...
数据库性能优化系统设计
设计一个数据库性能优化系统,目标是监测、诊断并改善数据库的运行效率,确保系统能够高效稳定地处理大量数据请求。以下是一个概要设计,包括关键模块、功能和实现思路: 1. 系统架构 分布式监控中心:采用分布式架构收集…...
MyBatisPlus-分页插件的基本使用
目录 配置插件 使用分页API 配置插件 首先,要在配置类中注册MyBatisPlus的核心插件,同时添加分页插件。(可以放到config软件包下) 可以看到,我们定义了一个配置类,在配置类里声明了一个Bean,这个Bean的名…...
深入探索Python库的奇妙世界:赋能编程的无限可能
在编程的浩瀚宇宙中,Python以其简洁的语法、强大的功能和广泛的应用领域,成为了众多开发者心中的璀璨明星。而Python之所以能够如此耀眼,很大程度上得益于其背后庞大的库生态系统。这些库,如同一块块精心雕琢的积木,让…...
力扣爆刷第161天之TOP100五连刷71-75(搜索二叉树、二维矩阵、路径总和)
力扣爆刷第161天之TOP100五连刷71-75(搜索二叉树、二维矩阵、路径总和) 文章目录 力扣爆刷第161天之TOP100五连刷71-75(搜索二叉树、二维矩阵、路径总和)一、98. 验证二叉搜索树二、394. 字符串解码三、34. 在排序数组中查找元素的…...
你真的了解Java内存模型JMM吗?
哈喽,大家好🎉,我是世杰。 本文我为大家介绍面试官经常考察的**「Java内存模型JMM相关内容」** 面试连环call 什么是Java内存模型(JMM)? 为什么需要JMM?Java线程的工作内存和主内存各自的作用?Java缓存一致性问题?Java的并发编程问题? …...
Springboot整合Jsch-Sftp
背景 开发一个基于jsch的sftp工具类,方便在以后的项目中使用。写代码的过程记录下来,作为备忘录。。。 Maven依赖 springboot依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-par…...
生成随机的验证码图片(Python)
文章目录 一、导入包二、生成随机的验证码三、生成随机的rgb颜色四、生成图片验证码总结: 一、导入包 import random from PIL import Image, ImageDraw, ImageFont二、生成随机的验证码 def random_code(length4):默认返回4位随机验证码,字符串code …...
0/1背包问题总结
文章目录 🍇什么是0/1背包问题?🍈例题🍉1.分割等和子集🍉2.目标和🍉3.最后一块石头的重量Ⅱ 🍊总结 博客主页:lyyyyrics 🍇什么是0/1背包问题? 0/1背包问题是…...
模电基础 - 放大电路的频率响应
目录 一. 简介 二. 频率响应的基本概念 三. 波特图 四. 晶体管的高频等效模型 五. 场效应管的高频等效模型 六. 单管放大电路的频率响应 七.多级放大电路的频率响应 八. 频率响应与阶跃响应 一. 简介 放大电路的频率响应是指在输入不同频率的正弦信号时,电路…...
Java 8 到 Java 22 新特性详解
Java 8 到 Java 22 新特性详解 Java自发布以来一直在不断演进,添加新特性以提升开发效率和性能。本文将介绍Java 8到Java 22的主要新特性,帮助开发者了解各版本的新功能和改进。 Java 8 (2014) 1. Lambda 表达式 Lambda 表达式允许使用简洁的语法定义…...
华为OD机试题-提取字符串中最长数学表达式
题目描述 https://blog.csdn.net/weixin_51055612/article/details/139841128 题目描述 提取字符串中的最长合法简单数学表达式,字符串长度最长的,并计算表达式的值。如果没有,则返回0。 简单数学表达式只能包含以下内容:0-9数字&…...
专家指南:如何为您的电路选择理想的压敏电阻或热敏电阻
保护和维持电路功能需要两种设备:压敏电阻和热敏电阻。这两个电气元件有时会因后缀相似而混淆,但它们具有不同且重要的用途。 由于这种混淆,我们需要准确地了解这些组件是什么,这就是本文将要讨论的内容——应用程序、作用、优点…...
基于主流SpringBoot进行JavaWeb开发的学习路线
目录 一、学习路线 (1)第一部分(Web前端开发的技术栈) (2)第二部分(Web后端开发) 二、学习之后必备的技能 三、学习Web开发的基础与未来的收获 学完这一类知识目标:…...
医疗机器人中的具身智能进展——自主超声策略模型的任务编码和局部探索
医疗机器人一直是具身智能的研究热点。医学图像、医疗触诊、血压血氧、心率脉搏和生物电信号等多模态生物医学信息,不断丰富着医疗机器人的感知范畴。 自主超声 “自主超声”属于具身智能医疗机器人领域中话题度较高的研究方向。作为临床检查的重要手段之一&#…...
探索人工智能在电子商务平台与游戏发行商竞争中几种应用方式
过去 12 年来,电脑和视频游戏的发行策略发生了巨大变化。数字游戏的销量首次超过实体游戏的销量 在20132020 年的封锁进一步加速了这一趋势。例如,在意大利,封锁的第一周导致数字游戏下载量 暴涨174.9%. 展望未来,市场有望继续增…...
【Altium】AD-网络版一个用户非人为异常占用多个License的解决方法
【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 当出现一个用户同时占用多个授权,又无法单独释放一个授权的情况下,该如何解决。 2、 问题场景 一个用户获取网络版授权后,AD会自动重复获取授权,直到该license下所有授…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
