JBoss 7.1使用入门(三)
- 格式:docx
- 大小:412.51 KB
- 文档页数:5
JBoss是一个开源的应用服务器,主要用于Java应用。
以下是使用JBoss的一些基本步骤:
1. 安装和配置:首先,你需要下载并安装JBoss。
然后,创建一个配置文件来指定你想要在JBoss上运行的应用和环境变量。
2. 部署应用:将你的Java应用打包成WAR文件(Web Archive)或EAR文件(Enterprise Archive),然后将它们部署到JBoss。
你可以使用命令行工具或JBoss的管理界面来部署应用。
3. 启动和停止JBoss:使用命令行工具或管理界面来启动和停止JBoss。
如果你使用的是管理界面,你还可以监控应用的运行状态和性能。
4. 管理JBoss:通过管理界面,你可以管理JBoss的各种设置、查看日志文件、监控性能等。
5. 扩展JBoss:JBoss有许多可扩展的模块和插件,你可以根据需要安装它们来增强JBoss的功能。
在使用JBoss时,你需要注意一些事项。
例如,确保你的Java 应用使用了JBoss支持的Java版本和EE规范。
此外,你也需要注意JBoss的内存限制和线程数限制,以确保你的应用不会遇到性能问题。
JBoss7.1.1/EAP6.1+mod_cluster集群配置由于使用WildFly时,遇见了无法解决的302Found问题(WildFly较JBoss7和EAP6.x,更换了web服务器为undertow,是引发问题的原因),故退而求其次,使用JBoss7.1.1进行集群配置。
但JBoss7.1.1有着天生的BUG(在使用domain模式部署项目时会发生未知错误),并由官方确认为BUG,并声明已在JBoss7.2中修复。
由于JBoss并没有7.2版本提供下载,所以笔者这里使用了EAP6.1进行集群的配置,该配置方案与之前的《WildFly8.x+mod_cluster集群配置》类似。
《WildFly8.x+mod_cluster集群配置》参考地址:/65.html系统环境:Windows 7 SP1软件环境:JDK 7+EAP 6.1(这个下载地址官方没有开放,需要上网搜一下,或使用JBoss 7.1.1)mod_cluster 1.2.6(/downloads/1-2-6-Final-bin)注意:mod_cluster有两个windows httpd+ssl的版本下载,对应32位和64位一、配置说明由于与WildFly的配置基本上完全类似,所以这里仅仅列出不同点1、需要手动指定节点的id:修改master的domain.xml,加入instance-id属性:2、需要手动指定mod_cluster的地址:修改master的domain.xml,加入proxy-list属性:3、其余配置参考《WildFly8.x+mod_cluster集群配置》。
二、配置JBoss7/EAP6.1为Windows服务1、从官网下载JBoss Web Native Connectors下载地址:/downloads/jboss-native-2-0-102、解压后,将bin目录放置到JBoss7/EAP6.1目录下,与bin合并3、修改service.bat文件,修改范例如下:4、修改完成后,执行service.bat install安装服务即可。
jboss入门(一)JAVA_HOME不用分号结尾Jboss有三种启动类型,分别为all, default, minimal。
如在windows平台下启动jboss,可直接启动bin目录下的run.bat既可。
此时默认为以default形式启动,如需其它启动方式,则需要参数设置,如想以all模式启动,则运行run.bat –c all命令。
http://localhost:8080/jmx-console。
此点一定注意,否则会打击初学者学习jboss的兴趣的。
我们通过这个页面进行对JBOSS的各服务的配置和管理。
http://localhost:1099会出现一大堆乱字符,当然,里面包含了你的IP地址等等类似的信息。
1099是jnp协议监听名字服务的缺省端口,RMI的缺省端口也是一样的。
在JNDI中,我们需要用到此端口jboss入门(二)配置文件的结构为了描述方便,以下描述将以JBOSS3.2.6版本,default配置为例,如果你以别的配置启动,则在对应的目录下寻找或配置相关文件。
1、相关DTD定义文件位于$JBOSS-HOME/docs/dtd,在其下的文件中可以查阅某个XML配置文件中某个元素或属性的意义。
2、数据源配置文件的路径,$JBOSS-HOME/server/default/deploy,文件格式必须是*-ds.xml的样式。
不同的数据库配置参数可参考$JBOSS-HOME/docs/examples/jca/下的示例文档。
有关参数的细节在下面会有一定的描述。
3、公共的jar包我们可以放在$JBOSS-HOME/server/default/lib下,如数据库的JDBC jar,log4j.jar等,如果这些JAR已经在该lib下放置了,那么我们的应用WEB-INF/lib下不应该再放置,否则JBOSS也会将他们再一次加载,白白占用内存。
4、配置日志的文件,log4j.xml位于$JBOSS-HOME/server/default/conf下,具体配置下文还会有一点介绍5、$JBOSS-HOME/server/default/work下存放的是JSP编译后的.java及.class 文件,如果调试JSP时出错了,可以到该目录下(一级级去翻吧)去找对应的文件,调试问题。
JBoss7配置指南1.jboss各主要版本特性 (3)1.1.jboss4特性 (3)1.2.jboss5特性 (5)1.3.jboss6特性 (6)1.4.jboss7特性 (7)2.为什么JBoss AS7 这么快 (8)3.JBoss AS7中的新概念-域 (10)3.1.域(Domain)的概念及其与群集(Cluster)的区别 (10)3.2.实验 (11)1.1.1.准备工作 (11)1.1.2.配置 (12)3.2.1.1.Master上面的配置 (14)3.2.1.1.1.domain.xml (14)3.2.1.1.2.host.xml (15)3.2.1.2.Slave上面的配置 (16)3.2.1.2.1.domain.xml (16)3.2.1.2.2.host.xml (16)3.3.AS 7.1的安全补充说明 (17)3.4.部署 (20)3.5.小结 (25)4.JBoss7配置 (26)4.1.目标听众 (26)4.1.1.开始之前 (26)4.1.2.手册中的示例 (26)4.2.客户端 (26)4.2.1.web接口 (26)4.2.1.1.HTTP管理接入点 (26)4.2.1.2.访问管理控制台 (27)4.2.1.3.对管理控制台进行加密 (27)4.2.2.命令行接口 (27)4.2.2.1.Native管理接入点 (28)4.2.2.2.运行命令行管理工具 (28)4.2.2.3.管理请求 (29)4.2.2.3.1.管理资源的地址 (30)4.2.2.3.2.操作类型和操作描述列表 (30)4.2.2.4.命令行历史信息 (32)4.2.2.5.批处理 (32)4.2.3.配置文件 (33)4.3.核心管理概念 (34)4.3.1.运行模式 (34)4.3.1.1.单服务器模式 (34)4.3.1.2.管理域 (34)4.3.1.2.1.Host(主机) (35)4.3.1.2.2.主机控制器(HostController) (35)4.3.1.2.3.Domain Controller(域控制器) (36)4.3.1.2.4.Server Group (服务器组) (37)4.3.1.2.5.Server (服务器) (38)4.3.1.3.决定运行在单独服务器或者管理域上 (38)4.3.2.通用的配置概念 (39)4.3.2.1.Extensions (扩展) (39)4.3.2.2.Profile和subsystem(子系统) (40)4.3.2.3.Paths( 路径) (40)4.3.2.4.nterfaces (接口) (42)4.3.2.5.socket binding(socket绑定)和socket binding group(socket绑定组) (43)4.3.2.6.System Properties( 系统属性) (43)4.3.3.Management resources( 管理资源) (44)4.3.3.1.Address (地址) (44)4.3.3.2.operations( 操作) (45)4.3.3.3.Attributes( 属性) (47)4.3.3.4.Children(子节点) (50)4.3.3.5.Descriptions(描述) (51)4.3.3.6.和JMX Beans相比 (53)4.3.3.7.管理资源树的基本结构(management resource trees) (54)4.3.3.7.1.单服务器模式(Standalone server) (54)4.3.3.7.2.管理域模式(managed domain) (54)4.4.管理任务 (56)4.4.1.网络接口和端口 (56)4.4.1.1.网络接口声明 (56)4.4.1.2.Socket Binding Groups (58)4.4.2.管理接口的安全性 (60)4.4.2.1.初始化设置 (60)4.4.2.2.快速配置 (61)4.4.2.3.详细配置 (63)4.4.2.3.1.管理接口 (64)4.4.2.3.2.安全域 (64)4.4.2.3.3.Outbound connections(外部连接) (68)4.4.2.4.问题 (69)4.4.3.JVM设置 (69)4.4.3.1.管理域 (69)4.4.3.2.单独运行服务器 (71)4.4.4.命令行参数 (71)4.4.4.1.系统属性 (71)4.4.4.2.单独运行模式(Standalone) (72)4.4.4.3.管理域模式(Managed Domain) (72)4.4.4.4.其他命令行参数 (73)4.4.4.4.1.单服务器模式(Standalone) (73)4.4.4.4.2.管理域模式(Managed Domain) (73)4.4.4.4.3.通用参数(Common parameters) (74)4.4.5.子系统配置 (74)4.4.5.1.数据源(Data sources) (74)4.4.5.1.1.JDBC驱动安装 (75)4.4.5.1.2.数据源定义(Datasource Definitions) (75)4.4.5.1.3.参考 (78)4.4.5.2.消息(Messaging) (79)4.4.5.2.1.Connection Factories (79)4.4.5.2.2.Queues and Topics (80)4.4.5.2.3.Dead Letter和Redelivery (81)4.4.5.2.4.安全性 (82)4.4.5.2.5.参考 (82)4.4.5.3.Web (82)4.4.5.3.1.容器设置(Container configuration) (83)4.4.5.3.2.Connector设置(Connector configuration) (84)4.4.5.3.3.Virtual-server配置(Virtual-Server configuration) (88)4.4.5.3.4.参考 (89)4.4.5.4.Web services (89)4.4.5.4.1.参考 (90)1.jboss各主要版本特性1.1. jboss4特性JBoss4包括web服务器(servlet/JSP容器,HTML服务器)、EJB2.0容器。
基本信息操作系统:CentOS Release 6.3 (Final) 32bit内核版本:Linux jboss 2.6.32-279.el6.i686JDK版本:Oracle ®Java SE Development Kit 7u79JBoss版本:JBoss Application Server 7.1.1Mysql版本:Mysql 5.1.73 系统自带安装包:jdk-7u79-linux-i586.rpm、jboss-as-7.1.1.Final.zip〇安装准备修改系统打开文件限制vim /etc/security/limits.conf* soft nofile 204800* hard nofile 204800vim /etc/pam.d/loginsession required /lib/security/pam_limits.so关闭不需要的系统服务chkconfig bluetooth offchkconfig firstboot offchkconfig cups offchkconfig ip6tables offchkconfig iptables offchkconfig isdn offchkconfig kudzu offchkconfig sendmail offchkconfig smartd offchkconfig autofs offservice bluetooth stopservice firstboot stopservice cups stopservice ip6tables stopservice iptables stopservice isdn stopservice kudzu stopservice sendmail stopservice smartd stopservice autofs stop上传安装文件将JDK和JBoss安装文件上传到服务器,目录随意,如:/home/下一、安装最新的JDK版本rpm -ivh jdk-7u79-linux-i586.rpm该安装包将自动安装到目录 /usr/java 下解压jboss 安装包unzip jboss-as-7.1.1.Final.zip二、修改环境变量使用root 登陆执行vi /etc/profileJAVA_HOME=/usr/java/jdk1.7.0_79/PATH=$JAVA_HOME/bin:JRE_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libexport JAVA_HOME PATH CLASSPATH保存退出source /etc/profilejava -verisonjava version "1.7.0_79"Java(TM) SE Runtime Environment (build 1.7.0_79-b15)Java HotSpot(TM) Client VM (build 24.79-b02, mixed mode, sharing)java 配置完成!三配置并启动jbossJBoss为绿色版本,解压即可使用。
I、环境搭建一、所需环境1、JDK(1.6及以上版本)2、Eclipse(本人使用Juno版)3、JBoss 7.1.1 下载地址:/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.zip二、安装JBoss1、将下载的压缩文件解压到本地目录,注意:解压目录不要包含中文以及空格等字符。
2、配置JBoss环境变量。
变量名:JBOSS_HOME,变量值:第一步中的解压目录。
(此步骤不是必须的,但是建议进行配置,否则以后打开Eclipse后会出现无法找到JBoss环境变量的提示)。
3、三、安装JBoss Tools●Juno版:使用Eclipse Marketplace 安装JBoss Tools。
具体操作:help->EclipseMarketplace->搜索JBoss Tools,单击Install,根据提示安装。
●Indigo版本:1、下载JBoss Tools:下载地址:/projects/jboss/files/JBossTools/JBossTools3.3.x/jbosstools-3.3.1.Final.aggregate-Update-2012-07-14_23-57-15-H211.zip2、具体操作:help->Install New Software->Add->Archive选择刚才下载的.zip文件。
根据提示进行安装。
四、配置JBoss1、转到Server选项卡:4、右键点击New->Server5、选择默认的JBoss As 7.1 ,点击finish.6、右键点击新建的JBoss服务器->Start,启动服务器。
7、用浏览器访问II、Hello World实现1、新建工程:注意:EJB module version一栏请选择3.0版本。
点击Next,将Generate ejb-jar.xml deployment descriptor 一栏勾上,以便由Eclipse自动创建xml部署文件。
JBoss AS7 使用详解JBoss AS7新加入了域(domain)的概念并实现了相关功能。
域的提出及实现,其目的是使得多台JBoss AS服务器的配置可以集中于一点,统一配置、统一部署,从而在管理多台JBoss AS服务器时,实现集中管理。
本文详细介绍如何使用AS7的这一新特性。
一、域(Domain)的概念及其与群集(Cluster)的区别对于使用过的JBoss AS过往版本的用户,可能对AS所提供的集群功能已经很熟悉了,因此在理解域的时候可能会遇到一点困扰.那么域和集群有什么区别呢?在用法上有什么不同呢?总的来讲,JBoss的群集的目的是提供:负载平衡(Load Balance)高可用(High Availablity)而域的目的则是将多台服务器组成一个服务器组(Server Group),并为一个服务器组内的多台主机(Host)提供:单点集中配置(通过一个域控制器,即Domain Controller,实现组内主机的统一配置)单点统一部署,通过域控制器将项目一次部署至组内全部主机。
简单来讲,群集的目标是让多台服务器分摊压力,当一台或多台服务器当机时,服务可以继续保持运转;而域的目标则是提供集中配置和管理多台服务器的能力。
在没有域的概念时,要想让群集内的多台服务器或几组服务器保持统一的配置,一个一个分别的去手工维护,是非常麻烦的事情,而域的引入解决了这一问题。
我们可以理解域和群集的相互关系是"正交(orthogonal)"的:通过一横一竖这两条轴,JBoss AS为我们在运维方面提供了强大的可扩展能力。
二、实际测试实验熟悉了AS7中Domain的设计理念,接下来动手实际做个实验,看看Domain是如何在AS7中工作的。
2.1 准备工作使用两台电脑做为实验器材,两台电脑的IP分别为10.0.1.3 及10.0.1.18 ,分别运行JBoss AS7,并组成一个服务器组(Server Group)。
Getting Started with JBoss 4.0Release 2©2004 JBoss, Inc.[罗时飞,于2004年12月1日修改稿]翻译说明:全文由罗时飞翻译完成。
无论在企业中,还是在开发者社群中,还是在OpenSource社群中,JBoss应用服务器在国内外的使用已经很广泛。
其中,JBoss3.2.x系列已经大量部署在国内外现实场景中。
JBoss4.0已经通过J2EE 1.4认证,而且其基代码也是来自于JBoss 3.2.x,这些都使得JBoss应用服务器更具企业强度。
[罗时飞,《JBoss Administration and Development》(Third Edition, 3.2.x Series)中文版译者,该书已经由电子工业出版社2004年11月出版发行。
通过如下网站可以联系到他: ]版权声明:本翻译文档的版权属于 JBoss, Inc. 所有。
本人仅保留中文署名权,其他一切权力罗时飞同意放弃。
您可以自由链接、下载、传播此文档,或者放置在您的网站上。
但前提是,必须保证完整转载全文,包括完整的版权信息、作译者声明。
如果翻译中存在不妥或错误之处,希望来信告知!修改日志:2004.10.5,提交翻译稿。
2004.11.5,针对社区反馈意见,添加了书签,以便于阅读。
2004.12.1,因英文版的更新而更新中文版。
比如,内置JSTL、新增Hibernate 一章、修改MySQL 4.1.17/Oracle 10g JDBC配置等内容。
目录序 (7)1 前言 (7)2 目标读者 (7)3 关于本书 (7)第1章入门 (8)1.1 下载和安装JBoss (8)1.2 启动服务器 (8)1.3 JMX控制台 (8)1.4 停止服务器 (9)1.5 运行为Windows服务 (9)第2章 JBoss服务器--快速上手 (11)2.1 服务器结构 (11)2.1.1 主目录 (11)2.1.2 服务器配置 (12)2.2 基本安装问题 (13)2.2.1 核心服务 (13)2.2.2 日志服务 (14)2.2.3 安全性服务 (15)2.2.4 其他服务 (16)2.3 Web容器—Tomcat (18)第3章关于实例应用 (19)3.1 J2EE Tutorial (19)3.2 区别 (19)3.2.1 容器相关部署描述符 (19)3.2.2 数据库变更 (19)3.2.3 安全性配置 (20)3.3 企业应用中的J2EE (20)4.1 构建应用 (21)4.1.1 准备文件 (21)4.1.2 编译Java源文件 (21)4.1.3 打包EJB (21)4.1.4 打包WAR文件 (22)4.1.5 打包Java客户 (22)4.1.6 集成EAR (22)4.1.7 数据库 (22)4.1.7.1 启用HSQL MBean和TCP/IP连接 (22)4.1.7.2 创建数据库模式 (23)4.1.7.3 HSQL数据库管理工具 (23)4.1.8 部署应用 (24)4.2 JNDI和Java客户 (25)4.2.1 jndi.properties文件 (25)4.2.2 JMX控制台中的应用JNDI信息 (26)4.3 安全性 (27)4.3.1 配置安全性域 (27)4.3.2 UsersRolesLoginModule文件 (28)4.3.3 J2EE安全性模型 (28)4.3.3.1 认证 (28)4.3.3.2 访问控制(授权) (29)第5章 J2EE之Web服务 (30)5.1 JBoss中的Web服务 (30)5.2 将Duke银行运行为Web服务 (30)5.3 运行Web服务客户 (32)5.4 网络状况分析 (33)第6章 JMS和消息驱动Bean (35)6.1 构建实例 (35)6.1.1 编译并打包MDB和客户 (35)6.1.1.1 指定MDB监听的Queue (35)6.2.1 运行客户应用 (36)6.3 管理JMS目的地 (36)6.3.1 jbossmq-destinations-service.xml文件 (36)6.3.2 从JMX控制台使用DestinationManager (37)6.3.3 管理目的地 (37)第7章容器管理持久化 (38)7.1 构建实例 (38)7.2 部署和运行实例 (38)7.2.1 运行客户应用 (39)7.3 自定义CMP (40)7.3.1 XDoclet (41)第8章使用其他数据库 (42)8.1 配置数据源 (42)8.1.1 包裹JDBC的资源适配器 (42)8.1.2 数据源配置文件 (42)8.2 将MySQL作为默认数据源 (42)8.2.1 创建数据库和用户 (43)8.2.2 安装JDBC驱动和部署数据源 (43)8.2.3 测试MySQL数据源 (44)8.3 设置Oracle9i的XADataSource (44)8.3.1 出于Oracle兼容性而设置Pad值 (45)8.3.2 安装JDBC驱动和部署数据源 (45)8.3.3 测试Oracle数据源 (46)第9章配置安全性 (47)9.1 使用数据库 (47)9.2 使用密码散列 (48)第10章使用Hibernate (49)10.1 创建Hibernate存档 (49)10.3 打包完整的应用 (51)10.4 部署、运行应用 (51)附录A Web控制台 (52)附录B 其他信息资料 (54)序1 前言在JBoss开发初期,它只是EJB容器。
1、解压到D:\jboss7.12、配置数据源到modules\com目录下建mysql 和oracle目录:3、修改D:\jboss7.1\standalone\configuration目录下standalone.xml:3.1 原来的的数据源配置:<datasources><datasource jndi-name="java:jboss/datasources/ExampleDS"pool-name="ExampleDS" enabled="true" use-java-context="true"><connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url><driver>h2</driver><security><user-name>sa</user-name><password>sa</password></security></datasource><drivers><driver name="h2" module="com.h2database.h2"><xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class></driver></drivers></datasources>修改为:<datasources><datasource jndi-name="java:jboss/datasources/ExampleDS"pool-name="ExampleDS" enabled="true" use-java-context="true"><connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url><driver>h2</driver><security><user-name>sa</user-name><password>sa</password></security></datasource><datasource jndi-name="java:/MySqlDS" pool-name="MySqlDS" enabled="true" use-java-context="true"><connection-url>jdbc:mysql://localhost:3306/gg</connection-url><driver>mysql</driver><pool><min-pool-size>20</min-pool-size><max-pool-size>20</max-pool-size><prefill>true</prefill></pool><security><user-name>root</user-name><password>111</password></security></datasource><datasource jndi-name="java:/OracleDs" pool-name="OracleDB" enabled="true" use-java-context="true"><connection-url>jdbc:oracle:thin:@localhost:1521:HD</connection-url><driver>oracle</driver><pool><min-pool-size>20</min-pool-size><max-pool-size>20</max-pool-size><prefill>true</prefill></pool><security><user-name>hd</user-name><password>111</password></security></datasource><drivers><driver name="h2" module="com.h2database.h2"><xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class></driver><driver name="oracle" module="com.oracle.ojdbc6"><driver-class>oracle.jdbc.OracleDriver</driver-class><xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class></driver><driver name="mysql" module="com.mysql"><driver-class>com.mysql.jdbc.Driver</driver-class><xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-cla ss></driver></drivers></datasources>3.2 修改默认端口:全部替换8080为88884、添加管理用户:5、启动测试数据源配置是否正常运行D:\jboss7.1\bin\standalone.bat:管理界面:http://localhost:9990/console/App.html#ds-metrics6、开发EJB新建Ejb project,项目名:cyd,选择配置好的mysql数据源新建一个session bean:添加连接数据源的类DbUtil.java, 添加rowset.jar到项目。
JBoss7使用入门(三)
接上一讲,内容。
我们写程序是为了应用,所以上一讲只在Eclipse环境中运行还只是成功了一半。
一、发布服务端JNDI程序
我们可以选择直接发布jar或发布ear两种方式。
直接发布jar
导出EJB Jar方式
输入导出路径,点完成即可。
下面进入JBoss管理页面,发布该Jar文件。
(如不清楚操作可参考本系列第一篇)。
把Jar打包成Ear发布
新建一个EAR工程,新建菜单下找到Java EE
选择Enterprise Application Project
在下面的页面选择Jar来源(来自哪些工程)这点就能看出Ear的意义所在。
点击完成。
在EAR工程上右击、输出。
输出完成后,发布刚输出的ear文件。
可以看到控制台提示有所变化:
这也就告诉我们以后调用JNDI路径上要加上这个EAR包的前缀。
二、发布客户端JNDI调用
打开工程下manifest.mf文件
把Main程序(类)指定一下。
右键输出选择Java EE下的App Client JAR file
用命令行java -jar运行
找不到依赖的类。
依赖类有两个jar,一个是服务端jboss-as-ejb-remote-app.jar另一是jboss-client.jar
方法一:用Bootstrap Classloader参数来加载外部依赖jar
-Xbootclasspath/a 系统类加载后再加载
-Xbootclasspath/p 系统类加载前加载
java -Xbootclasspath/a: jboss-client.jar; jboss-as-ejb-remote-app.jar; -jar client.jar(windows) java -Xbootclasspath/a: jboss-client.jar: jboss-as-ejb-remote-app.jar: -jar client.jar(unix)
方法二:
在manifest文件中追加class-path列出所需的外部jar名称和相对路径。
随后你只要把这些jar和client.jar放在一个目录就可以了。