- Spring Boot 2 实战:使用 Undertow 来替代Tomcat 作为Web 容器
码农小胖哥
undertow.png1.Undertow简介Undertow是一个采用Java开发的灵活的高性能Web服务器,提供包括阻塞和基于NIO的非堵塞机制。Undertow是红帽公司的开源产品,是Wildfly默认的Web服务器。Undertow提供一个基础的架构用来构建Web服务器,这是一个完全为嵌入式设计的项目,提供易用的构建器API,完全向下兼容JavaEEServlet3.1和低级非堵塞的处理
- jboss( WildFly)上运行 springboot程序
Java法师
WildFly,原名JBossAS(JBossApplicationServer)或者JBoss,是一套应用程序服务器,属于开源的企业级Java中间件软件,用于实现基于SOA架构的Web应用和服务。WildFly包含一组可独立运行的软件。WildFly采用积极的方法进行内存管理。开发基本运行时服务是为了最大程度地减少堆分配。这些服务在重复的完整解析中使用公共的缓存索引元数据,从而减少了堆和对象的流
- 苏宁中间件配置巡检效率提升之路
weixin_34357928
运维数据库python
1、前言苏宁易购发展到今天的规模和体量,对苏宁IT提出了更高的要求,特别是在运维方面,提出了更高的响应和保障要求,整个运维体系也是在不断提升自动化处理能力和水平,为苏宁易购的快速成长做好后端保障。在中间件运维方面,我们开发了相应的中间件运维工具支撑大规模的中间件配置及巡检,提升配置标准化的能力和系统稳定性。在工具的建设过程中,我们不断探索新技术,提升对大规模运维的并发处理能力。在WildFly的配
- Jtti:linux中jboss无法启动怎么解决
Jtti
linux数据库oracle
JBoss(现在叫WildFly)无法启动的问题可能有多种原因,从配置错误到系统问题都有可能。以下是一些可能的步骤,以帮助您解决JBoss启动问题:1.检查日志文件:首先,查看JBoss的日志文件,以了解问题的根本原因。JBoss通常会在standalone/log目录下生成日志文件,例如server.log。您可以使用tail命令来实时监视日志文件:tail-fstandalone/log/se
- EJB-MessageDrivenBean -Queue/Topic 入门案例(亲测OK)
weixin_45292005
ejb入门案例(亲测OK)运行环境:wildFly10.x+jdk1.8●EJB-MDB入門代码(亲测OK)EJBproject-MDB(QueueAndTopic)deploy目录下3个文件:1.webApp_wildFly.war这个是利用URL来测试下面2个EJB程的,通过访问war包里的servlet来,给某个Queue发送数据,本例中是通过"http://localhost:8080/w
- Out of memory: Kill process 内存不足
weixin_33967071
javashellpython
服务直接被killed,感觉特别奇怪。代码肯定是没有问题的,但为什么放到服务器上就出错了呢。部署时报错如下:Shell代码Failedtoaddthedeploymentcontenttotherepository:java.util.concurrent.CancellationException:Operationwascancelledwildfly报错如下:Shell代码./standal
- wildfly在CentOS、debian操作系统下设置为自启动服务
shibushi114
java与开源框架debiancentoslinux
CentOS#WILDFLY_VERSION=16.0.0.Final#wgethttps://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz-P/tmp#tarxf/tmp/wildfly-$WILDFLY_VERSION.tar.gz-C/opt/#ln-s/opt/wildfly-$WIL
- JBoss+Eclipes+EJB
Ambrose墨默
网上罕有教程,文档看不太懂。鄙人摸索成功以记之。创建新的EJB项目:【File】--【New】--【Other】--【EJB】--【EJBproject】此处可见我的JBoss服务器使用的是WildFly16.0.需要特别注意的是这里WildFly版本与本教程方法一般可行,JBoss用户可以尝试,是否可行未知。上面所示需要勾选,这里会生成一个配置文件,当然在HelloWorld项目中影响不大,但是
- Springboot - 3.容器集成
Mr谦
Springboot-详解springspringboot
Web容器当选择Web容器时,你可以在SpringBoot应用中集成不同的容器。下面是Undertow、Tomcat、Jetty、Netty、WebLogic、WebSphere和WildFly这些常见Web容器的比较,包括它们的特点和优缺点:容器特点优点缺点Undertow轻量级、嵌入式支持、异步处理能力强低资源占用、高性能、适用于高并发场景JavaEE规范支持相对较弱Tomcat流行、成熟、支
- 在wildfly中使用SAML协议连接keycloak
flydean程序那些事
简介我们知道SSO的两个常用的协议分别是SAML和OpenIDConnect,我们在前一篇文章已经讲过了怎么在wildfly中使用OpenIDConnect连接keycloak,今天我们会继续讲解怎么使用SAML协议连接keycloak。OpenIDConnect和SAMLOpenIDConnect简称OIDC,是一个基于OAuth2协议的认证框架。为什么要基于OAuth2框架呢?因为OAuth2
- 规则引擎--Drools之workbench安装
一枚老菜鸟~啦啦
规则引擎服务器其他
基于Drools7.69.0.Final版本安装workbench需要的相关资源:WildFly:wildfly-23.0.2.Final.zip(自drools6.5.0.Final之后,workbench不再支持tomcat启动)workbench:business-central-7.69.0.Final-wildfly23.warkie-server:kie-server-distribu
- 2020-12-06 KeyCloak试水
Kenny_W_Zhang
dockerrun-p8080:8080-eKEYCLOAK_USER=admin-eKEYCLOAK_PASSWORD=adminquay.io/keycloak/keycloak:11.0.3出现了httpsisrequired解决方法有2种:一是使用https证书,免费的有letsencrypt或者Wildfly,二是禁用https。比较简单的是第2种方法:dockerexec-it进入容器
- Wildfly配置Datasources
收获de季节
应用服务器java数据库
配置Datasources前,需要先配置对应的JDBC驱动,配置方法,可以参考:Wildfly配置mysql8.0的JDBC驱动之后,配置对应的Datasources。配置方法有两种,一种是通过管理后台配置,一种是通过手工修改配置文件配置。1️⃣、通过web管理台配置第一步,进入管理台配置入口第二步,添加datasource数据源AddDatasource1、choosetemplate2、att
- 醒醒 ,SpringBoot 中 是时候尝试Undertow 了
逗逼程序员
springboot中还在使用Tomat?是时候了解下Undertow了。官网:http://undertow.io/index.html1、什么是UndertowUndertowissponsoredbyJBossandisthedefaultwebserverintheWildflyApplicationServer.Undertowisaflexibleperformantwebserver
- springboot集成tomcat, jetty, undertow服务器吞吐量对比
面包君123
springspringbootjettyundertowtomcatspring
springboot集成tomcat,jetty,undertow服务器吞吐量对比一,undertow介绍undertow简介:Undertow是RedHAT红帽公司开源的产品,采用java开发,是一款灵活,高性能的web服务器,提供了NIO的阻塞/非阻塞APIS,也是Wildfly的默认Web容器。在javaweb容器的世界里,tomcat和jetty是大众熟知的,undertow目前逐步进入大
- Java JNI示例及Wildfly下热更新war导致UnstatisfiedLinkError的问题
JianMing
JNI示例首先定义一个带有native关键字的类:packagecom.self.test;publicclassHelloNative{publicnativevoidhelloWorld();//publicstaticvoidmain(String[]args){//System.loadLibrary("libHello");//HelloNativehelloNative=newHell
- 3、流程引擎下载安装与部署
老柳聊技术
camunda工作流实战java架构低代码
camunda有多种使用方式,此处先使用独立平台的方式部署引擎,这种用法适合分布式,微服务化,多语言异构系统的使用方式。是官方推荐的使用方式。camunda-platform-run支持的运行方式有多种,包括:ApachetomcatJBossEAP/wildflyIBMWebShpereOracleWebLogicDockerSpringboot启动推荐安装一、docker方式安装参考文档:ht
- 适用于具有Couchbase和WildFly的多容器和多主机应用程序的Docker Machine,Swarm和Compose...
dnc8371
网络dockerlinuxjava大数据
该博客将说明如何使用Docker创建部署在多个主机上的多容器应用程序。这将使用DockerMachine,Swarm和Compose实现。是的,所有这三个工具一起使此博客更加有趣!该图说明了关键组件:DockerMachine用于配置多个Docker主机DockerSwarm将用于创建多主机集群使用Consul注册/发现DockerSwarm集群中的每个节点多容器应用程序将使用DockerComp
- couchbase_适用于具有Couchbase和WildFly的多容器和多主机应用程序的Docker Machine,Swarm和Compose...
dnc8371
网络dockerlinuxjava大数据
couchbase该博客将说明如何使用Docker创建部署在多个主机上的多容器应用程序。这将使用DockerMachine,Swarm和Compose实现。是的,这三个工具一起使这个博客变得更加有趣!该图说明了关键组件:DockerMachine用于配置多个Docker主机DockerSwarm将用于创建多主机集群使用Consul注册/发现DockerSwarm集群中的每个节点多容器应用程序将使用
- 微服务架构中各个组件都需要使用哪些技术?
Blue92120
微服务架构java
在微服务架构中,不同的组件(包括微服务实例、注册中心和API网关等组件)需要根据不同的情况来选取相应的技术,那么我们可以使用哪些技术呢?本节将对微服务架构中各个组件可使用的技术进行简单介绍。1.微服务实例的开发微服务的开发可以选用的框架技术有Spring团队的SpringBoot、Jboss公司的WildFlySwarm和JavaEE官方的微服务框架KumuluzEE等。2.服务的注册与发现架构中
- Java:顶级Java应用程序服务器 — Tomcat、Jetty、GlassFish、WildFly
粤嵌教育
JAVAjavaJava培训Java开发Java学习Java语言
如果你想编写Javaweb应用程序,首先需要做出一个艰难的决定:选择运行应用程序的Java应用程序服务器。什么是应用服务器?一般来说,应用程序服务器执行Java应用程序。在操作系统中启动它们,然后将应用程序部署到其中。将应用程序服务器视为运行Java代码并使其正常运行的容器。此外,应用程序服务器提供了一些通用的基础结构和功能功能,你可以在自己的代码中使用这些功能。在本文中,我们介绍4个流行的Jav
- 初涉shell(项目自启动脚本)
Daisy想养猫
需求在centOS系统中,项目开机自启动脚本,具体操作包括zookeeper->kafka->wildflyzookeeper启动脚本touchzkserver.shvimzkserver.sh#定义项目家目录HOME='/software/kafka_2.11-0.11.0.1'start(){cd$HOMEnohup./zookeeper.sh}stop(){#kill掉本程序ps-ef|gr
- Java微服务开发指南 -- 使用Docker和Kubernetes构建可伸缩的微服务
weixin_34060741
java操作系统运维
使用Docker和Kubernetes构建可伸缩的微服务从现在开始,我们将从更高的维度讨论微服务,涵盖了组织敏捷性、设计和依赖的思考、领域驱动设计以及Promise理论。当我们深入使用之前介绍的三个流行的微服务框架:SpringBoot、Dropwizard和WildFlySwarm,我们能够使用它们开箱即用的能力去构建一个暴露或者消费REST服务的应用,能够使用外部环境对应用进行配置,可以打包成
- Java微服务开发指南-使用Docker和Kubernetes构建可伸缩的微服务
WeiPeng2K
服务框架java微服务dockerkubernetes
从现在开始,我们将从更高的维度讨论微服务,涵盖了组织敏捷性、设计和依赖的思考、领域驱动设计以及Promise理论。当我们深入使用之前介绍的三个流行的微服务框架:SpringBoot、Dropwizard和WildFlySwarm,我们能够使用它们开箱即用的能力去构建一个暴露或者消费REST服务的应用,能够使用外部环境对应用进行配置,可以打包成一个可执行的jar,同时提供Metrics信息,但这些都
- undertow 怎么创建线程_深入理解如何使用 Spring Boot 内嵌容器 Undertow创建服务器...
引长弓
undertow怎么创建线程
使用SpringBoot内嵌容器Undertow创建服务器的方法Undertow是一个Web服务器,那么它就需要具备的现代Web服务器的基本特性,比如Servlet,JSP,文件服务器,代理服务器,安全认证等。undertow目前已经实现了绝大多数功能,并且因为wildfly通过了JavaEE7TCK认证,所以可以说Undertow是一个通过Servlet3.1认证的Web服务器和容器。这篇文章只
- wildfly命令行模式下配置数据源驱动的方式
think_lonely
echo"moduleadd--name=com.mysql--resources=mysql-connector-java-5.1.40-bin.jar--dependencies=javax.api,javax.transaction.api"|/eduapp/keycloak/bin/jboss-cli.sh--connect--controller=10.32.1.128:9990#这里的
- JPA配置方式+逆向工程映射到Entity实体类
目录将已有项目转换成JPAproject..此时会显示警告准备:wildfly/tomcat或者其他服务器你的数据库的Driver,(此处用的mysql-connecter-java-5.1.39-bin.jar)将已有项目转换成JPAproject..Step1:[选中项目,右键]->[Configure]->[ConvertoJPAproject]Step2.1:Configuration有c
- Java 近期:Grail 5.0、Spring、Hibernate、WildFly 、 Kotlin Multik 的更新
java
2021年10月11日起始周Java新闻更新:OpenJDK、JDK18、SpringFramework、Grails5.0、Micronaut3.1、Helidon2.3.4、HibernateORM和HibernateReactiveGA版本、与WildFly25、GraalVMNativeTools0.96、ApacheCamel3.11.3、Piranha21.10.0相关的更新,以及Ko
- 做自己的老师,学习Java新技能
microsoftjava
自微软爱开源后,Java也成为了微软Azure上的开发语言。从VisualStudioCode,到云端服务,再到微软版本的JDK发布,微软正在不断强化对Java的支持,让Java更好地迁移到云端微软官方为Java开发者们整理了一份详细的JavaonAzure自学路径,使用你熟悉和喜爱的工具及框架,包括Spring、Tomcat、WildFly、JBoss、WebLogic、WebSphere、Ma
- Tomcat & Jboss/wildfly 性能比对之【测试篇】
点融黑帮
Jboss(准确地讲应该是JbossAS)是一款基于J2ee的免费开放源码应用服务器,由Jboss社区维护(注意区别于Jboss的另一款商用应用服务JBossEAP,由Radhat提供商业支持)。它是一个管理EJB的容器,严格讲Jboss核心服务仅支持EJB服务器,是不包括JSP和Servelt的web容器,所以Jboss之前一直绑定Tomcat作为Web容器,但Web容器毕竟是应用服务器中最重要
- Algorithm
香水浓
javaAlgorithm
冒泡排序
public static void sort(Integer[] param) {
for (int i = param.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
int current = param[j];
int next = param[j + 1];
- mongoDB 复杂查询表达式
开窍的石头
mongodb
1:count
Pg: db.user.find().count();
统计多少条数据
2:不等于$ne
Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});
查询id不等于3的数据。
3:大于$gt $gte(大于等于)
&n
- Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space
0624chenhong
jvmjboss
转自
http://blog.csdn.net/zou274/article/details/5552630
解决办法:
window->preferences->java->installed jres->edit jre
把default vm arguments 的参数设为-Xms64m -Xmx512m
----------------
- 文件上传 下载 解析 相对路径
不懂事的小屁孩
文件上传
有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。
下面总结一下遇到的问题:
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。
在上传图片,或者文件时,使用form表单来操作。
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下:
<form action=&
- 怎么实现qq空间批量点赞
换个号韩国红果果
qq
纯粹为了好玩!!
逻辑很简单
1 打开浏览器console;输入以下代码。
先上添加赞的代码
var tools={};
//添加所有赞
function init(){
document.body.scrollTop=10000;
setTimeout(function(){document.body.scrollTop=0;},2000);//加
- 判断是否为中文
灵静志远
中文
方法一:
public class Zhidao {
public static void main(String args[]) {
String s = "sdf灭礌 kjl d{';\fdsjlk是";
int n=0;
for(int i=0; i<s.length(); i++) {
n = (int)s.charAt(i);
if((
- 一个电话面试后总结
a-john
面试
今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。
然后对list和map分别举几个类型:
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了
- MSSQL中Escape转义的使用
aijuans
MSSQL
IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC
create table #ABC
(
PATHNAME NVARCHAR(50)
)
insert into #ABC
SELECT N'/ABCDEFGHI'
UNION ALL SELECT N'/ABCDGAFGASASSDFA'
UNION ALL
- 一个简单的存储过程
asialee
mysql存储过程构造数据批量插入
今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:
DELIMITER $$
DROP PROCEDURE IF EXISTS inse
- annot convert from HomeFragment_1 to Fragment
百合不是茶
android导包错误
创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;
创建类时引入包是:import android.app.Fragment;
创建队列和对象时使用的包是:import android.support.v4.ap
- Weblogic10两种修改端口的方法
bijian1013
weblogic端口号配置管理config.xml
一.进入控制台进行修改 1.进入控制台: http://127.0.0.1:7001/console 2.展开左边树菜单 域结构->环境->服务器-->点击AdminServer(管理) &
- mysql 操作指令
征客丶
mysql
一、连接mysql
进入 mysql 的安装目录;
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p
输入密码,回车,接连;
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效]
1、赋权
mys
- 【Hive一】Hive入门
bit1129
hive
Hive安装与配置
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。
Hive安装和配置的步骤
1. 从如下地址下载Hive0.14.0
http://mirror.bit.edu.cn/apache/hive/
2.解压hive,在系统变
- ajax 三种提交请求的方法
BlueSkator
Ajaxjqery
1、ajax 提交请求
$.ajax({
type:"post",
url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
dataType : "json",
success : function(result) {
try {
for(v
- mongodb开发环境下的搭建入门
braveCS
运维
linux下安装mongodb
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz
2)linux 解压
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz;
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-
- 编程之美-最短摘要的生成
bylijinnan
java数据结构算法编程之美
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ShortestAbstract {
/**
* 编程之美 最短摘要的生成
* 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran
- json数据解析及typeof
chengxuyuancsdn
jstypeofjson解析
// json格式
var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
+' {"firstName": "CCC&
- 流程系统设计的层次和目标
comsci
设计模式数据结构sql框架脚本
流程系统设计的层次和目标
 
- RMAN List和report 命令
daizj
oraclelistreportrman
LIST 命令
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的
信息。使用此命令可列出:
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本
• 可用的且可以用于还原操作的数据文件备份和副本
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份
• 包含指定名称或范围的所有归档日志备份的备份集和副本
• 由标记、完成时间、可
- 二叉树:红黑树
dieslrae
二叉树
红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.
红黑树必须遵循红黑规则,规则如下
1、每个节点不是红就是黑。 2、根总是黑的 &
- C语言homework3,7个小题目的代码
dcj3sjt126com
c
1、打印100以内的所有奇数。
# include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=100; i++)
{
if (i%2 != 0)
printf("%d ", i);
}
return 0;
}
2、从键盘上输入10个整数,
- 自定义按钮, 图片在上, 文字在下, 居中显示
dcj3sjt126com
自定义
#import <UIKit/UIKit.h>
@interface MyButton : UIButton
-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa
- MySQL查询语句练习题,测试足够用了
flyvszhb
sqlmysql
http://blog.sina.com.cn/s/blog_767d65530101861c.html
1.创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR
- 转:MyBatis Generator 详解
happyqing
mybatis
MyBatis Generator 详解
http://blog.csdn.net/isea533/article/details/42102297
MyBatis Generator详解
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.
- 让程序员少走弯路的14个忠告
jingjing0907
工作计划学习
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助
1.不要害怕在工作中学习。
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放
- nginx和NetScaler区别
流浪鱼
nginx
NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。
3.策略灵活度方
- 第11章 动画效果(下)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- FAQ - SAP BW BO roadmap
blueoxygen
BOBW
http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq
Besides, I care that how to integrate tightly.
By the way, for BW consultants, please just focus on Query Designer which i
- 关于java堆内存溢出的几种情况
tomcat_oracle
javajvmjdkthread
【情况一】:
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx
- Manifest.permission_group权限组
阿尔萨斯
Permission
结构
继承关系
public static final class Manifest.permission_group extends Object
java.lang.Object
android. Manifest.permission_group 常量
ACCOUNTS 直接通过统计管理器访问管理的统计
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限
D