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下所有授…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
flow_controllers
关键点: 流控制器类型: 同步(Sync):发布操作会阻塞,直到数据被确认发送。异步(Async):发布操作非阻塞,数据发送由后台线程处理。纯同步(PureSync…...
React父子组件通信:Props怎么用?如何从父组件向子组件传递数据?
系列回顾: 在上一篇《React核心概念:State是什么?》中,我们学习了如何使用useState让一个组件拥有自己的内部数据(State),并通过一个计数器案例,实现了组件的自我更新。这很棒&#…...
Java中HashMap底层原理深度解析:从数据结构到红黑树优化
一、HashMap概述与核心特性 HashMap作为Java集合框架中最常用的数据结构之一,是基于哈希表的Map接口非同步实现。它允许使用null键和null值(但只能有一个null键),并且不保证映射顺序的恒久不变。与Hashtable相比,Hash…...
6.计算机网络核心知识点精要手册
计算机网络核心知识点精要手册 1.协议基础篇 网络协议三要素 语法:数据与控制信息的结构或格式,如同语言中的语法规则语义:控制信息的具体含义和响应方式,规定通信双方"说什么"同步:事件执行的顺序与时序…...
