JBoss7使用入门(一)
- 格式:docx
- 大小:897.65 KB
- 文档页数:8
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的内存限制和线程数限制,以确保你的应用不会遇到性能问题。
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容器。
JBoss AS7 用户指南[原文] /wiki/JBossAS7UserGuide这是简要的指南,意在帮助那些期望体验JBoss AS7的用户,尽管JBoss AS7还在开发过程中。
如果你有任何关于这篇文章内容的反馈,可以通过发表该文的评论或者访问"JBoss AS7 Development"论坛的wiki,或者发给jboss development邮件列表jboss-development@.AS7 当前还处于"Beta"状态,所以用户不应该期望所有的功能像已经发布的AS5 AS6一样的稳定,同样应该了解从一个alpha版本升级到另外版本可能会有重大的改变。
获得JBoss AS 7AS7 可以从 download page下载. 因为还只是预览版,安装过程只需要解压即可。
我们鼓励用户从AS 7 的源码库取出源代码并且自行编译,这很快并且不会有任何麻烦,只要在你的操作系统上装有git(分布式的版本管理工具),设置git也非常简单。
关于如何取出以及编译AS 7 源码可以参考Hacking On JBoss AS 7 wiki page。
快速启动一旦你下载了分发包并解压缩,你需要判断你要让AS 7工作在"domain mode" 还是"standalone mode",为了理解这两个选项的意义,可以参考下面的"Domain Mode vs. Standalone Mode"章节。
如果你要工作在domain mode, 打开字符终端并且cd 到解压的bin 目录,然后运行"domain"启动脚本。
Linux/Unix:$ cd bin$ ./domain.sh如果是Windows:> cd bin> domain.bat这会在你的系统中启动5个进程:3个JBoss AS Server的实例;1个Domain Controller(Domain 控制器)进程,这个进程用来集中控制所有属于这个"domain"的server;和一个轻量的Process Controller,负责管理其他的4个进程并监听它们的生命周期。
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)。
操作系统:CentOS Release (Final) 32bit内核版本:Linux jbossJDK版本:Oracle ®Java SE Development Kit 7u79JBoss版本:JBoss Application ServerMysql版本:Mysql 系统自带安装包:、〇安装准备修改系统打开文件限制vim /etc/security/* soft nofile 204800* hard nofile 204800vim /etc/loginsession required /lib/security/关闭不需要的系统服务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该安装包将自动安装到目录/usr/java 下解压 jboss 安装包unzip 二、修改环境变量使用root 登陆执行vi /etc/profileJAVA_HOME=/usr/java/CLASSPATH=.:$JAVA_HOME/lib/:$JAVA_HOME/lib/:$JRE_HOME/libexport JAVA_HOME PATH CLASSPATH保存退出source /etc/profilejava -verisonjava version ""Java(TM) SE Runtime Environment (build HotSpot(TM) Client VM (build , mixed mode, sharing)java 配置完成!三配置并启动jbossJBoss为绿色版本,解压即可使用。
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到项目。
1.Jboss下module/com目录下,新建mysql/main 目录,放入mysql-connector-java-5.1.33-bin.jar新建module.xml,文件内容如下:<?xml version="1.0" encoding="UTF-8"?><module xmlns="urn:jboss:module:1.1" name="com.mysql"><resources><resource-root path="mysql-connector-java-5.1.33-bin.jar"/></resources><dependencies><module name="javax.api"/><module name="javax.transaction.api"/><module name="javax.servlet.api" optional="true"/></dependencies></module>2.修改jboss下standalone\configuration目录下standalone.xml找到<subsystem xmlns="urn:jboss:domain:datasources:1.0">在<datasources> 标签下,加入<datasourcejndi-name="java:jboss/WFDataSource" pool-name="WFDataSource" enabled="true" use-java-context="true"><connection-url>jdbc:mysql://192.168.251.139:3306/cmis_haierdb</connection-url> <driver>mysql</driver><security><user-name>cmis_haier</user-name><password>cmis_haier</password></security></datasource><drivers>标签下,加入<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-cl ass></driver>3.修改echain.propertieswfdatasource=java\:jboss/WFDataSourcewfdatasource4end=java\:jboss/WFDataSourceconncettype=jndi4.修改reportConfig.xml<config><name>JNDIPrefix</name><value>java:jboss/</value></config><config><name>dataSource</name><value>WFDataSource,oracle,GBK,1</value></config>。
JBoss7使用入门(二)Java程序开发一般会使用Eclipse,请下载EE版本的Eclipse/downloads/JBoss7在Eclipse上有几个不错的插件可以用来快速链接和测试还能创建Seam框架。
其中之一就是JBoss Tool。
网络状况良好的情况下我推荐使用Eclipse自动安装。
这样能自动安装所需的所有依赖插件。
对于Eclipse3.7地址为/jbosstools/updates/development/indigo/对于Eclipse4.2地址为(千万不要弄错否则不能用)/jbosstools/updates/development/juno/等待安装完成,大概需要十几分钟。
由于JBoss的资料比较少,最好的资料就是官网和官方的Examples。
下面介绍下载所有官方例子的方法和创建一个简单测试。
官方例子在github可以下载到。
为了方便下载你可以安装egit插件。
我的Eclipse4.2似乎自带了egit,所以直接Import就能看到相关菜单。
下一步输入git:///jboss-jdf/jboss-as-quickstart.git下一步选所有分支设置好存放目录,选择初始化分支等待下载完成并选择Import as general project并完成下面将演示创建一个服务器-客户端JNDI调用ejb-remote的例子。
阅读ejb-remote的redme.md发现对于eclipse工程没有直接的支持,它只支持maven格式的项目。
那就需要复制一下代码了。
再此之前我相信你已经下载好JBoss7.1.1并顺利启动过。
一、为Eclipse创建一个JBoss服务器连接打开Servers标签页,在空白处点右键,新建,Server。
展开JBoss Community,选JBoss AS 7.1在Server runtime environment出点添加,出现下面对话框设置好目录和JRE,选择好启动配置文件点完成。
JBoss7使用入门(一)
两种模式对应的配置文件
Standalone 管理方式配置
∙standalone.xml (default)
Java Enterprise Edition 6全功能配置包括OSGi
∙standalone-ha.xml
Java Enterprise Edition 6 全功能配置加高性能配置∙standalone-osgi-only.xml
仅OSGi standalone服务,不含JEE6 功能
∙standalone-xts.xml
Standalone JEE6全功能配置加对transactional web services支持
Domain管理方式配置
∙domain.xml (default)
Java Enterprise Edition 6全功能配置包括OSGi
∙domain-osgi-only.xml
仅OSGi standalone服务,不含JEE6 功能
特别注意的是domain和standalone模式决定了各自的管理方式。
设置OS环境变量
JAVA_HOME
JBOSS_HOME
启动JBoss Application Server 7
以"standalone" 方式启动, 命令行切换到目录$JBOSS_HOME/bin. Windows: standalone.bat
Unix: ./standalone.sh
以domain管理方式启动命令为
Windows: domain.bat
Unix: ./domain.sh
启动带有特殊配置的JBoss Application Server 7
如果你需要启动时带有特殊配置,可以使用下面命令加载配置,如需加载standalone-ha.xml 时,可使用:
Windows: standalone.bat --server-config=standalone-ha.xml
Unix:./standalone.sh --server-config=standalone-ha.xml
另外你可以通过添加修改或删除某子系统来定制你自己的配置。
测试你的安装
在运行启动命令后可在命令行看到如下显示
=====================================================================
JBoss Bootstrap Environment
JBOSS_HOME: /work/jboss-as-7.0.0.Final
JAVA: /usr/jdk1.6/bin/java
JAVA_OPTS: -server -Xms64m -Xmx512m -XX:MaxPermSize=256m .preferIPv4Stack=true
-Dorg.jboss.resolver.warning=true-Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000
-Djboss.modules.system.pkgs=org.jboss.byteman
=========================================================================
16:32:05,050INFO [org.jboss.modules] JBoss Modules version 1.0.1.GA
16:32:05,379INFO [org.jboss.msc] JBoss MSC version 1.0.0.GA
16:32:05,421INFO [org.jboss.as] JBoss AS 7.0.0.Final "Lightning"starting
<snip>
16:32:07,578INFO [org.jboss.as] (Controller Boot Thread) JBoss AS 7.0.0.Final "Lightning" started in 2804ms - Started 91of 146services (55services are passive or on-demand)
打开IE输入http://127.0.0.1:8080可看到如下启动画面
管理JBoss Application Server 7
AS 7支持两种管理方式:
∙网页形式的管理方式
∙命令行管理方式
授权
使用add-user命令添加用户,添加用户完成后网页方式的管理页面才能使用C:\Jboss7.1.1\bin>add-user
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a): a
Enter the details of the new user to add.
Realm (ManagementRealm) :
Username :infodba
Password :
Re-enter Password :
About to add user 'infodba' for realm 'ManagementRealm'
Is this correct yes/no? yes
管理界面
打开IE,输入http://127.0.0.1:9990/console
输入管理员用户和密码
可以看到
发布
点击Manage Deployments可发布ear包
下一步后点保存。
点击Add to Group
打钩并保存
完成发布,进行最后测试。
常用配置
配置内容按照服务器管理方式不同,保存在不同的xml文件中。
你也可以从管理页面访问这些配置内容。
1.管理页面从任何ip地址访问
Standalong
点击保存按钮
domain方式:
不同点是在Server下
2.默认端口设置。