springboot项目怎么样排除自带tomcat容器使用宝蓝德?

news/2024/7/8 4:47:27 标签: spring boot, 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。


http://www.niftyadmin.cn/n/5536540.html

相关文章

如何使用thinkPHP开发

要使用ThinkPHP进行开发&#xff0c;可以按照以下步骤进行操作&#xff1a; 1. 下载ThinkPHP框架&#xff1a;可以从官方网站&#xff08;https://www.thinkphp.cn/&#xff09;下载最新的ThinkPHP框架。 2. 配置环境&#xff1a;将ThinkPHP框架解压到服务器的网站根目录中&a…

JAVA 发送短信信息工具类(腾讯云)

发送短信信息工具类 import cn.hutool.core.collection.CollUtil; import com.tencentcloudapi.common.Credential; import com.tencentcloudapi.common.exception.TencentCloudSDKException; import com.tencentcloudapi.sms.v20210111.SmsClient; import com.tencentcloudapi…

【深度解析】Java并发与并行:掌握多线程艺术,解锁高性能编程秘籍

在Java中&#xff0c;并发&#xff08;Concurrency&#xff09;和并行&#xff08;Parallelism&#xff09;是两个相关但不同的概念&#xff0c;它们都涉及在程序中同时处理多个任务&#xff0c;但是以不同的方式实现。 并发&#xff08;Concurrency&#xff09; 并发指的是多…

【CT】LeetCode手撕—93. 复原 IP 地址

目录 题目1- 思路2- 实现⭐93. 复原 IP 地址——题解思路 3- ACM 实现 题目 原题连接&#xff1a;93. 复原 IP 地址 1- 思路 模式识别&#xff1a;给一个 String 字符串 ——> 复原 IP 地址 ——> 回溯三部曲 &#xff0c;回溯的切割问题 ——> 实现一个左闭右闭区间…

富格林:曝光有效方案安全交易

富格林认为&#xff0c;近些年来大家的投资理财意识逐渐增强&#xff0c;现货黄金作为一种自带优质避险功能的投资产品&#xff0c;自然就受到投资者的关注和追捧。但现货黄金的交易市场相对来说还是比较混杂&#xff0c;投资小白稍不留神就可能会陷入受害陷阱当中无法安全交易…

k8s-第六节-数据持久化

数据持久化 kubernetes 集群不会为你处理数据的存储,需要为数据库挂载一个磁盘来确保数据的安全。 可以选择云存储、本地磁盘、NFS。 本地磁盘:可以挂载某个节点上的目录,但是这需要限定 pod 在这个节点上运行 云存储:不限定节点,不受集群影响,安全稳定;需要云服务商提…

Eclipse 2024最新版本分享

一、软件介绍 Eclipse是一个开源的、基于Java的可扩展开发平台&#xff0c;最初由IBM公司开发&#xff0c;后于2001年贡献给开源社区&#xff0c;并由Eclipse基金会负责管理和开发。 如果在官网上下载比较慢&#xff0c;可以试试从云盘中下载&#xff0c;解压即可使用。 二、下…

Vector的扩容过程是怎样的

Vector的扩容过程在C中是一个动态调整内存空间以容纳更多元素的过程。这一过程主要发生在向Vector中添加元素时&#xff0c;如果当前Vector的容量不足以容纳新元素&#xff0c;就会触发扩容操作。以下是Vector扩容过程的详细步骤&#xff1a; 扩容机制 判断是否需要扩容&…