JBoss的AS版本 Wildfly 介绍和使用

article/2025/9/25 19:43:05

WildFly简介:

wildFly是一款服务器,和tomcat一样,不过事jboss服务器的as版本罢了,相比于Jboss的EPA版本就比较繁重,所以有了这个Jboss服务器的轻便版本。至于什么时候独立出来的版本,之类的我就不给你扯淡了。

WildFly目录介绍:

  • appclient 里面是一些默认的配置  服务器日志的配置等
  • bin常规bin目录里面就是可以执行的脚本文件 比如./standalone.sh 就可以启动服务器了
  • docs就是服务器的基础文件
  • domain 服务器启动的方式有两种一种是standalone 另外一种就是这个domain这个是分布式的启动
  • modules这里面配置了wildfly启动时要加载的module 后面详细介绍一下
  • standalone wildfly启动的另外一种方式,里面放置了相关的配置
  • welcome-content 这里面是wildfly启动之后一些默认的显示页面的文件
  • jboss-modules.jar这个jar主要在wildfly启动的时候加载相关的jar文件 后面做详解

bin目录下有很多脚本文件,想启动wildfly直接执行./standalone.sh(linux环境下) 或者./standalone.bat(windows环境下)

对应的会加载standalone文件夹下面的配置文件,默认加载standalone.xml(可以修改启动脚本,修改默认配置文件为别的)

当然也可以在执行启动脚本的时候指定配置文件,同时也可以指定环境变量配置和系统属性配置格式如下

./standalone.sh --server-config=standalone-full.xml  -Dorg.kie.server.id=first-kie-server 

上面有不同的standalone配置文件,从文件命名基本就可以知道配置文件支持什么样的特性了。如果看不出来,那你可得学聪明点,至于详细的内容配置看下面:

Wildfly 配置文件详解:

<server xmlns="urn:jboss:domain:8.0"><extensions><extension module="org.jboss.as.clustering.infinispan"/></extensions><system-properties><property name="org.kie.server.id" value="sample-server"/></system-properties><management><security-realms><security-realm name="ManagementRealm"></security-realms><audit-log></audit-log><management-interfaces></management-interfaces><access-control provider="simple"></access-control></management><profile><subsystem xmlns="urn:jboss:domain:datasources:5.0"></subsystem></profile><interfaces><interface name="management"><any-address/></interface></interfaces><socket-binding-group name="standard-sockets" ><socket-binding name="management-http"/></socket-binding-group>
</server>

配置文件的结构大致如上面所示:

excetion是拓展模块:配置的module就是前面说的modules文件夹下面配置的module

System-property配置的是系统变量

Management就是管理模块 

<security-realm name="ManagementRealm"> 配置的是wildfly的管理模块,可以指定存储着用户信息的文件的路径地址

<security-realm name="ApplicationRealm"> 配置的是应用的管理模块,可以指定存储着用户信息的文件路径地址

profile配置一些子系统信息,包括数据源 热部署所需要的scanner等,配置了scanner就会自动扫描对应监控的文件的配置,从而不用重启wildfly就会自动加载新配置:

<subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
    <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000"/>
</subsystem>
interfaces 配置的是可以访问该服务器ip

socket-binding-group配置的是对应模块监听的端口

Wildfly的modules介绍:

  我们都知道,java一直以来加载class文件和各种jar的资源都是通过classpath,这样会造成很多问题,比如下面的问题

  •  一个大的项目中,有的classpath当中的资源被加载后根本不会被用到,就会造成系统的资源浪费
  • 同一个classpath当中的资源,可能包含多个不同版本的同一个资源,这就造成了版本冲突,可能会导致整个项目无法运行并且很难进行排错,因为我们的项目可能很大,在成百上千个jar中找到冲突,比火箭队夺冠都难

针对这些问题,Jboss 都从设计上面给出了解决方案:

  • 通过使用Module.xml描述定义模块,在这个描述文件中要包含模块的名字,包括哪些资源等,一般一个模块对应一个jar文件,也可以包含多个jar或其他资源,这些资源的版本号,以及模块之间的依赖关系
  • 每一个模块都可以实时地加载和卸载,这样做的好处,首先是资源方面的节省,只有需要的模块才会被加载(这一点是通过在配置文件module.xml中定义的模块之间的依赖关系来实现的),这一方式同时还带来的好处:能提升整个系统的加载速度

WildFly Modules定义:

wildFly Modules是一个适用于java模块化类加载以及执行环境的实现,传统的java加载类 是通过类加载器一个个加载类,现在讲一个jar文件定义成一个module,该module仅链接依赖的其他module,而不再以来其他任何资源。Jboss module 实现了一个线程安全的,快速的高并发的类加载器委派模型,再加上一个可拓展的模块解析引擎,形成一个独特的,简单的,强大的应用程序执行和分布系统。

WildFly Modules被设计为能够和现有的library或者application一起工作而不需要任何的修改,因为它简单的命名策略和解析策略不想OSGi,WildFly Modules 并没有实现一个容器,而是一个瘦的启动包装器,在一个模块化环境执行一个应用。这时你的应用接管控制权,模块化则准备好在需要时装载和链接模块,此外,只有当一个模块被依赖的时候,他才会被装载,并不会为了解析而装载,也就是说,模块化应用程序的性能仅依赖于实际就是用的模块数(并在模块被使用的时候),而不是系统中的模块总数目,模块可以被用户随时装载。

WildFly Moduls的使用:

一个模块化程序使用以下命令启动:

java -jar jboss-modules.jar -mp path/to/modules my.main.module.name

在模块路径(-mp)中需要指定默认模块加载器需要搜素加载模块的根目录。my.main.module.name 指定要运行的模块名称。

下面看下module.xml的内容

<?xml version="1.0" encoding="UTF-8"?>
<module name="com.google.guava" xmlns="urn:jboss:module:1.5"><properties><property name="jboss.api" value="private"/></properties><resources><resource-root path="guava-25.0-jre.jar"/></resources><dependencies></dependencies>
</module>

在jboss-moduels.jar里有一个schema文件来定义模块描述符的格式,因此集成到你喜欢的IDE中会很容易。JBoss Moduels提供了很多扩展的功能去严格控制什么java包是“exported"或者“imported',所以你可以从你的 Jar文件里选择性的不包含一些资源(这样使用预打包的jar文件时将变得更为简单)。
 

wildfly的4种部署方式:

  • 管理頁面部署

      管理页面控制台添加,和tomcat 的控制台添加类似,此处省略

  • 命令行部署

      进入主目录里面的/bin目录下,有个jboss-cli.sh 执行这个脚本,然后deploy你要部署的文件

      jboss-cli.sh

      deploy  /xxxx/xxxx/xxx.jar   部署

      undeploy  /xxxx/xxxx/xxx.jar  卸载

  • Maven Plugin(jboss-as-maven-plugin)

     在你的项目的pom.xml文件里添加下面的依赖:


<plugin><groupId>org.jboss.as.plugins</groupId><artifactId>jboss-as-maven-plugin</artifactId><version>7.3.Final</version>
</plugin

    使用 mvn jboss-as:deploy 进行部署

    使用mvn jboss-as:undeploy 进行卸载

  • 复制

   就是将你的jar或者war文件复制到standalone/deployments/目录下

   执行wildfly主目录中bin目录下启动脚本standalone.sh(bat)

 

wildfly服务器启动,如果启动了访问不了 启动的时候,就在standalone.sh 后面添加 -b 0.0.0.0

变成下面的 ./standalone.sh -b 0.0.0.0

参考链接如下:

    https://blog.csdn.net/kylinsoong/article/details/17302241

 


http://chatgpt.dhexx.cn/article/KOIk82Ie.shtml

相关文章

FlyBird

游戏演示&#xff1a; 按键盘的上下键来控制小鸟上下移动&#xff0c;碰到管道会大量扣血&#xff0c;但是没有的时候会缓慢回血。 当生命值不是正数的时候&#xff0c;就结束游戏&#xff0c;按下空格可以重新开始。 我的代码如下 我的gitee地址&#xff1a;https://git…

使用wildfly部署项目

WildFly部署项目 一、下载 在浏览器地址栏输入https://www.wildfly.org/&#xff0c;打开WildFly官网,点击other versions选择版本&#xff0c;因为开发环境是jdk1.8&#xff0c;部署环境是Windows&#xff0c;所以这里我选择的是 “Java EE Full & Web Distribution”项…

wildfly安装及基本使用

一.wildfly在linux下的安装 1.下载地址 官网下载地址&#xff1a;https://www.wildfly.org/downloads/ 2.目录介绍 下载好后我们解压出来看一下目录结构&#xff1a; *appclient 里面是一些默认的配置、服务器日志配置等 *bin 里面就是一些可执行的脚本文件&#xff0c;有添…

什么是Wildfly?

WildFly 是一个 Java Enterprise Edition 全功能应用服务器&#xff0c;它提供了运行 Java Web 应用程序所需的所有功能。WildFly 由 Red Hat 设计和维护&#xff0c;正式名称为 JBoss AS。 总体而言&#xff0c;WildFly可以缩短开发时间&#xff0c;更有效地管理资源&#xff…

什么是wildfly

文章目录 什么是wildfly特点下载安装readme及启动命令启动操作总结一下具体步骤&#xff08;第一版&#xff09;1.配置环境变量(下载上面有)3、环境变量配好之后&#xff0c;需要为JBOSSt添加用户&#xff0c;调用dos窗口&#xff0c;输入命令2、启动Jboss&#xff0c;在dos窗口…

python3.6 安装MySQLdb

前言 最近做python的项目需要将json对象存储到数据库&#xff0c;在网上查了一下发现使用mysql数据库和MySQLdb模块是可以做到的。结果上网上查的时候发现&#xff0c;很多人说MySQLdb只能支持python2.4-2.7&#xff0c;不支持python3&#xff0c;但是我的其他部分基于python3…

[数据库] mysql

前言 各种知识多而且容易遗忘,还不容易复习。最好的方法当然是自己给自己提问,不断补缺查漏,缺什么补什么。本文将各类知识归类,并将全文知识点浓缩在自问自查中,并且都写好目录,自问自查时可以随时跳转过去,方便大家系统的学习复习知识。 水平有限,有错误敬请指正 食用方法 …

MySQL DataBase

文章目录 DBMSSQL备份数据库数据类型事务视图数据库设计三范式分组查询C# 连接 MySQL字符集存储引擎InnoDB行格式记录头信息 数据页结构B 树索引 DBMS DataBase Management System&#xff0c;数据库管理系统。常见的有 MySQL、Oracle、Microsoft SqlServer SQL Structured …

mysql数据库中求圆的面积_MYSQL数据库

数据库&#xff1a; 数据库就是存储数据的仓库 为了方便数据的存储和管理&#xff0c;它将数据按照特定的规律存储在磁盘上&#xff0c;通过数据库的管理系统&#xff0c;可以有效的管理存储在数据库中的数据&#xff1b; mysql数据库的优点&#xff1a; 1.多语言的支持 2.可以…

【数据库MySQL】

数据库MySQL 数据库设计原则和数据库事务 数据库MySQL数据表的设计原则数据库对象编写建议关于库关于表、列关于索引sql编写 数据库事务存储引擎是否支持事务ACID特性事务的状态 显式事务与隐式事务显式事务隐式事务隐式提交数据的情况 事务隔离级别脏读不可重复性幻读 4种隔离…

Database:MySQL

学习笔记&#xff1a;MySQL Copyright: Jingmin Wei, Pattern Recognition and Intelligent System, School of Artificial and Intelligence, Huazhong University of Science and Technology 前面的SQL代码为数据库通用语言&#xff0c;但是结果都是在MySQL环境下运行的结果…

数据库------MYSQL

目录 数据库 关系型数据库 非关系型数据库 MYSQL 登录 创建数据库 字符集 警告,错误,致命 查看数据库 选中数据库 删除库 数据类型 数值类型 字符串类型 日期类型 表的操作 选定数据库 创建表 多行输入 注释 单行注释: 多行注释 查看表结构 查看表 删除表…

Python之安装MySQLdb

Python连接mysql需要MySQLdb模块 一.环境 系统版本&#xff1a;windows10家庭版 Python版本&#xff1a; python3.7.1 IDE&#xff1a;sublime_text3 二.安装说明 如果是python 2.x版本的&#xff0c;在命令行输入执行&#xff1a;pip install MySQLdb即可安装成功如果是py…

DB SQL mysql

今天我们用10分钟&#xff0c;重点梳理一遍以下几方面&#xff1a; 数据库知识点汇总&#xff1b; 数据库事务特性和隔离级别&#xff1b; 详解关系型数据库、索引与锁机制&#xff1b; 数据库调优与最佳实践&#xff1b; 面试考察点及加分项。 知识点汇总 一、数据库的…

python -MySQLdb的安装与使用

MySQLdb是一款较为底层的&#xff0c;python连接mysql用的模块。和更加高级的&#xff0c;提供ORM的模块不同&#xff0c;MySQLdb主要还是聚焦于如何和数据库进行连接和进行基本的操作&#xff0c;操作的体现形式主要还是进行SQL语句的执行。 在Linux下 pip install MySQL-py…

数据库--mysql

数据库 《高性能Mysql(第三版)》 数据库三大范式、反模式 强调属性的原子性约束&#xff0c;要求属性具有原子性&#xff0c;不可再分解强调记录的唯一性约束&#xff0c;表必须有一个主键&#xff0c;并且没有包含在主键中的列必须完全依赖于主键&#xff0c;而不能只依赖于主…

Python 如何安装 MySQLdb ?

人生苦短 我用python Python 标准数据库接口为 Python DB-API&#xff0c; Python DB-API为开发人员提供了数据库应用编程接口。 Python 数据库接口支持非常多的数据库&#xff0c; 你可以选择适合你项目的数据库&#xff1a; GadFlymSQLMySQLPostgreSQLMicrosoft SQL Serve…

MySQL——数据库

1.什么是数据库&#xff1a; 数据库&#xff08;database&#xff09;&#xff1a;存储数据的“仓库”。它保存了一系列有组织的数据。 2.DSMS数据库管理系统&#xff1a; 数据库管理系统&#xff1a;数据库是通过DBMS创建和操作的容器。 数据库管理系统&#xff08;DBMS&a…

数据库----MySQL

文章目录 常识常见数据库数据库结构SQL语句分类 事务事务的4个特性 ACID隔离级别事务处理**提交** **commit****回滚** **rollback** 常用操作库的常用操作建库删库查库使用库 表的常用操作创建表修改表删除表查看所有表查看表结构/设计表 表记录的常用操作插入记录查询记录修改…

数据库—mysql

提示&#xff1a;以下是本篇文章正文内容 一、InnoDB InnoDB 内部做了很多优化&#xff0c;包括从磁盘读取数据时采用的可预测性读&#xff0c;能够自动在内存中创建 hash 索引以加速读操作的自适应哈希索引&#xff0c;以及能够加速插入操作的插入缓冲区等。 InnoDB 支持真正…