Java基础之《undertow容器》

news2025/1/15 21:09:27

一、什么是undertow

1、undertow是springboot默认支持的三种servlet容器之一。
tomcat、jetty、undertow

2、undertow怎么读
under-tow

3、undertow是RedHat(红帽公司)的开源产品,采用java开发,是一款灵活、高性能的web服务器,提供了基于NIO的阻塞/非阻塞式APIs,也是WildFly(原名JBoss AS - JBoss Application Server)的默认web容器。

4、官方网站
https://undertow.io/index.html

5、结构图

分为:core组件、servlet组件、websocket组件,底层使用了XNIO。

6、undertow目前有两个主要版本
2.1:当前支持servlet 4.0,JDK8+的稳定版本
1.4:当前支持servlet 3.1,JDK7的稳定版本

二、undertow引入

1、pom文件配置

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 排除tomcat依赖 -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>

</dependency>

<!-- undertow -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>

2、application.yml文件配置

server:
  port: 8442
  
  undertow:
    #HTTP POST请求最大的大小(0不限制)
    max-http-post-size: 0
    #设置IO线程数,它主要执行非阻塞的任务,它们会负责多个连接,默认设置每个CPU核心一个线程
    #不设置会自动调整
    io-threads: 4
    #阻塞任务线程池,当执行类似servlet请求阻塞操作,undertow会从这个线程池中取得线程,它的值设置取决于系统的负载
    #不设置会自动调整
    worker-threads: 20
    ##以下配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理
    #每块buffer的空间大小,越小的空间被利用越充分
    buffer-size: 1024
    #是否分配的直接内存
    direct-buffers: true
    #undertow容器日志
    accesslog:
      #日志存放路径
      dir: D://
      #是否启动日志
      enabled: true
      #日志格式
      pattern: common
      #日志文件名前缀
      prefix: access_log
      #日志文件名后缀
      suffix: log

三、undertow有什么优势

1、undertow平均响应时间比tomcat更快

2、undertow可以分组件按需引入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/10493.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大学生游戏静态HTML网页设计-(北京冬奥会12页 带js 带视频 轮播图)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | HTML期末大学生网页设计作业&#xff0c;Web大学生网页 HTML&#xff1a;结构 CSS&#xff1a;样式 在操作方面上运用了html5和css3&#xff0c; 采用…

stack容器、queue容器(20221116)

一、stack容器 1、基本概念 先进后出的数据结构&#xff0c;只有一个出口&#xff08;栈顶&#xff09;。 栈不允许有遍历行为&#xff0c;可以判断是否为空(empty)&#xff0c;也可以知道其元素个数&#xff08;size&#xff09; 2、常用接口 构造函数&#xff1a; stac…

初始MySQL

目录 一、什么是数据库 二、SQL分类 三、库的操作 四、表的操作 五、数据类型 六、表的约束 什么是数据库 存储数据用文件就可以了&#xff0c;为什么还要有数据库&#xff1f; 文件保存数据有以下几个缺点&#xff1a; 文件的安全性问题文件不利于数据查询和管理 文件…

电脑视频怎么录制?好用的电脑录屏方法

在日常使用电脑的时候&#xff0c;很多小伙伴经常会遇到需要录制电脑视频的时候。但网上各种眼花缭乱的电脑录屏方法&#xff0c;很多小伙伴看了表示自己根本没有学会。今天就给大家分享2个简单好用的电脑录屏方法&#xff0c;看完后轻松掌握电脑录屏。 一&#xff0e;使用Wind…

主成分分析法在图像压缩和重建中的应用研究-含Matlab代码

目录一、引言二、主成分分析法概念及性质2.1 概念2.2 性质三、计算步骤3.1 计算相关系数矩阵3.2 计算特征值与特征向量3.3 计算主成分贡献率及累计贡献率3.4 计算主成分载荷3.5 各主成分的得分四、图像压缩与重建实验分析五、参考文献六、Matlab代码获取一、引言 主成分分析法…

【附源码】Python计算机毕业设计网上购物平台

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

最火后台管理系统 RuoYi 项目探秘,之二

上篇中&#xff0c;我们初步观察了 RuoYi 的项目结构&#xff0c;并在最后实际运行起了项目。我们也发现了作者不好的代码习惯&#xff0c;作为反例&#xff0c;我们应该要养成良好的编码习惯。本篇开始&#xff0c;我们会按照 Web 界面逐一对具体子项目的实现的功能进行探秘。…

Qt使用7z压缩和解压示例(支持文件夹递归、多文件不同位置)

1&#xff0c;简介 Qt自带的压缩处理类功能不太完善&#xff0c;也不支持中文路径。 这是我封装好的一个Qt调用7z处理压缩解压的工具类 ZipAPI&#xff0c;提供了几个简单易用的接口。 写压缩解压代码从此非常方便快捷&#xff01; 支持中文路径&#xff0c;支持常规的压缩解…

Cell:水平基因转移在昆虫中广泛存在,增强鳞翅目雄性昆虫求偶行为

期刊&#xff1a;Cell 影响因子&#xff1a;66.85 发表时间&#xff1a;2022年8月 一、研究背景 昆虫起源于约4.8亿年前&#xff0c;是地球上最繁盛的动物类群&#xff0c;已被描述种超过100万&#xff0c;占所有动物物种50%以上。这个古老的动物类群在…

插画、插图网站,免费(商用)

本期分享5个高质量插画网站&#xff0c;免费可商用&#xff0c;设计必备&#xff0c;建议收藏&#xff01;1、Undraw https://undraw.co/illustrationsUndraw是一个扁平风格插画图库&#xff0c;里面有大量的插画&#xff0c;可以支持在线更改配色&#xff0c;网站提供免费下载…

【JavaSE】类和对象(下)(访问限定符 包的概念 导入包中的类 自定义包 包的访问权限控制举例 常见的包 实例内部类 静态内部类 局部内部类 对象的打印)

文章目录六、 封装6.1 封装的概念6.2 访问限定符6.3 封装扩展之包6.3.1 包的概念6.3.2 导入包中的类6.3.3 自定义包6.3.4 包的访问权限控制举例6.3.5 常见的包七、内部类7.1 内部类7.1.1 实例内部类7.1.2 静态内部类7.2 局部内部类7.3 匿名内部类八、对象的打印六、 封装 6.1 …

人工智能-线性回归2--房价预测、欠拟合过拟合、正则化、模型保存加载

7&#xff0c;案例&#xff1a;波士顿房价预测 回归性能评估MSE from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression,SGDRegressor from sklearn.meyrics import mean_squa…

详解PHP解决swoole守护进程Redis假死 ,mysql断线重连问题

详解PHP解决swoole守护进程Redis假死 &#xff0c;mysql断线重连问题最近公司有个项目&#xff0c;要举办一个线上活动&#xff0c;我这边负责提供接口记录用户访问记录&#xff0c;与操作记录&#xff0c;由于活动参与人数可能比较多&#xff0c;为了不影响正常业务运行&#…

安全性归约(游戏)

文章目录基于游戏的安全性定义归约中的概率关系某事件发生某事件不发生互斥事件基于游戏的安全性定义 在将攻击 Γ\GammaΓ 的算法 A′AA′ 归约到攻击 Π\PiΠ 的算法 AAA 时&#xff0c; 让 A′AA′ 根据 ChΓCh_\GammaChΓ​ 提供的信息&#xff0c;为 AAA 模拟出同分布的 …

股票自动下单接口够接入多种股票数据源吗?

很多的股票交易接口在原先只能接入行情的CTP程序&#xff0c;那么股票自动下单接口现在可以通过openctp提供的CTPAPI&#xff0c;可以接入到多种多样的股票数据源&#xff01;但是目前由于大多的股票交易接口是受到监管限制的就很难接入实盘&#xff0c;那么股票自动下单接口通…

知心世界姐王瑞平:谷传民与大衣哥朱之文是沟通问题不是人品问题

大衣哥和谷传民的官司走到现在&#xff0c;互联网上面也出现了两大阵营对垒&#xff0c;一方面是大衣哥的粉丝&#xff0c;旗帜鲜明地支持自己的偶像&#xff0c;另一大阵营的人&#xff0c;则一心一意支持谷传民。虽然每个阵营都有自己的道理&#xff0c;但是毕竟都太过极端&a…

Virtual Data Augmentation: 虚拟数据扩增技术

听说过数据扩增&#xff08;Data Augmentation&#xff09;&#xff0c;也听说过虚拟对抗训练&#xff08;Virtual Adversarial Traning&#xff09;&#xff0c;但是我没想到会有人将其结合&#xff0c;谓之虚拟数据扩增&#xff08;Virtual Data Augmentation&#xff09;。这…

CANoe诊断测试

诊断协议那些事儿 本文为诊断协议那些事儿专栏文章&#xff0c;当我们在开发工程中越来越多的需要使用到总线测试工具&#xff0c;其中包括BUSMASTER、周立功、PCAN、CANOE等&#xff0c;本文将使用德国Vector公司的CANoe介绍诊断测试的基本环境。 文章目录诊断协议那些事儿一…

Python编程从入门到实践 第五章:if语句 练习答案记录

Python编程从入门到实践 第五章&#xff1a;if语句 练习答案记录 练习题导航Python编程从入门到实践 第五章&#xff1a;if语句 练习答案记录5.1 一个简单示例5.2 条件测试5.2.1 检查是否相等5.2.2 检查是否相等时忽略大小写5.2.3 检查是否不相等5.2.4 数值比较5.2.5 检查多个文…

运行yolov5 v6遇到的问题

1. Arial.ttf无法在运行时下载的问题 可以选择用浏览器下载&#xff0c;然后拷贝到docker或者ubuntu下&#xff0c;创建服务器的http访问方式。 具体为&#xff1a; 1.1 下载文件 Arial.ttf 并拷贝到docker或者ubuntu下 1.2 在ubuntu下创建http访问方式&#xff1a; # 安装…