转载自 http://hi.baidu.com/mylovechangchu/blog/item/bf3bdb313b9d85aa5fdf0e7a.html
一般教程和网上的JBOSS说明都不能满足需要,不能明确地说清楚服务器基本配置。所以,自己花费了大量时间来搜集资料,才弄明白到底怎么回事。
JBOSS的大多数版本都是zip的压缩包,直接解压到指定目录就可以了,不需要安装。只有个别版本提供了jar包安装,最新版本都不提供了。最值得注意的是,JBOSS需要手动配置环境变量JAVA_HOME,否则提示会出错。而在4.x之后,最新版本5.0BEATA2,都需要的是JDK5.0以上的java环境,所以,要想使用JDK1.4的,就只能选择低版本的了。JBOSS_HOME不用指定在环境变量里,它好像自己能判断出来根目录,不过为了规范,还是手动加到环境变量里去。
JBOSS的启动文件放在bin下,一个run.bat,但是我发现那个shutdown的关闭服务器不好使,不知道是否还要手动去配置,所以要关闭服务就直截了当,关闭命令窗口,或者CTRL+C。client下是客户端jars,不去深究都是什么东西。lib下是服务器端jars。docs下是JBoss的文档,但是奇怪的是它并不是JBOSS的技术文档,名不其实,是些licence和一些配置例子等不太关注的东西。最核心的是server目录,所以除了要启动JBOSS服务器用到bin目录的run.bat外,几乎只要去操作server目录就可以了。server目录下有三个子目录,分别是all,default和minimal,是三种启动方式:
Minimal:最小配置,仅仅包括日志,JNDI服务和URL部署扫描器,你可能会在一个不需要J2EE的应用中使用这种配置,或者以该配置为基础自定义配置。
Default:缺省配置,包括除了RMI/IIOP和集群的所有J2EE服务。
All:这种配置包括所有的JBoss服务。
除非手动指定,默认只启动default目录的模式。在default和其它两个目录下,都默认有conf,deploy,lib目录,default和all下会多几个,因为服务选项多。conf下是一些配置文件,包括jboss-service.xml和bootstrap-beans.xml这两个核心配置文件;lib下是启动服务要用到的jar包;用户只需要把要部署的文件放到deploy目录下,启动JBOSS服务器时会自动部署运行。在bootstrap-beans.xml定义了这几种后缀的件.zip,.ear,.jar,.rar,.war,.sar,.har,.aop,.deployer和.beans,一般是.ear,.jar和.sar,同时需要*-ds.xml数据源配置文件和其它配置文件,配置文件后缀格式-service.xml,-beans.xml,-ds.xml和-aop.xml。
在server启动后,自动生成data,log,tmp,work目录。
data:Hypersonic 数据库实例将数据存储在此处。JBossMQ(JMS 的 JBoss 实现)也使用它存储消息。
log:日志信息将存储到该目录。
tmp:供部署器临时存储未打包应用使用,也可以作为其他用途。
work:供 Tomcat 编译 JSP 使用。
最关键的问题好多地方都没有描述,那就是:怎么选择JBOSS启动模式,是default,还是all,或者minimal。在寻找了bin下的启动配置文件run.bat和run.conf后,仍然没有任何关于这方面的启动配置信息。在网上有人把JBOSS启动参数中文化了出来:
JBoss 4.0.4GA 启动参数解释
-h, --help 显示帮助信息
-V, --version 显示版本信息
-D<name>[=<value>] 设置系统属性
-d, --bootdir=<dir> 设置启动补丁目录的位置;必须是绝对路径或者url
-p, --patchdir=<dir> 设置补丁目录的位置;必须是绝对路径或者url
-n, --netboot=<url> 从指定的url网络位置启动
-c, --configuration=<name> 指定服务器启动的配置(default、all、minimal)
-B, --bootlib=<filename> 将其它的jar包添加到bootclasspath的前面
-L, --library=<filename> 将其它的jar包添加到 loaders classpath
-C, --classpath=<url> 将其它的url添加到loaders classpath
-P, --properties=<url> 从指定的url加载系统属性
-b, --host=<host or ip> 所有JBoss Service绑定的地址
-g, --partition=<name> HA分区的名称(缺省为DefaultDomain)
-u, --udp=<ip> UDP的多播地址
-l, --log=<log4j|jdk> 设置日志记录插件类型
JBoss 4.0.4GA环境变量
JBOSS_HOME JBoss的位置
JAVA Java 运行程序的位置
JAVA_OPTS JVM启动参数
MAX_FD JBoss能够使用文件描述符的最大数量(仅用于Un*x)
估计是在启动.bat文件时给定这个参数的,-c,指定服务器启动的配置。试了试run.bat -h,在命令行里显示
如下:
D:/jboss/bin>run.bat -h
===============================================================================
JBoss Bootstrap Environment
JBOSS_HOME: D:/jboss
JAVA: D:/java//bin/java
JAVA_OPTS: -Dprogram.name=run.bat -server -Xms128m -Xmx512m -XX:MaxPermSize=2
56m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600
000
CLASSPATH: D:/java//lib/tools.jar;D:/jboss/bin/run.jar
===============================================================================
usage: run.bat [options]
options:
-h, --help Show this help message
-V, --version Show version information
-- Stop processing options
-D<name>[=<value>] Set a system property
-d, --bootdir=<dir> Set the boot patch directory; Must be absolute
or url
-p, --patchdir=<dir> Set the patch directory; Must be absolute or u
rl
-n, --netboot=<url> Boot from net with the given url as base
-c, --configuration=<name> Set the server configuration name
-B, --bootlib=<filename> Add an extra library to the front bootclasspat
h
-L, --library=<filename> Add an extra library to the loaders classpath
-C, --classpath=<url> Add an extra url to the loaders classpath
-P, --properties=<url> Load system properties from the given url
-b, --host=<host or ip> Bind address for all JBoss services
-g, --partition=<name> HA Partition name (default=DefaultDomain)
-m, --mcast_port=<ip> UDP multicast port; Only used by JGroups multi
plexer
-u, --udp=<ip> UDP multicast address
-l, --log=<log4j|jdk> Specify the logger plugin type
请按任意键继续. . .
D:/jboss/bin>
原来是在run.jar里写好了启动参数,在run.bat里提供调用run.jar来完成参数配置读取的。
试了试run.bat -c minimal命令,结果进入了minimal目录配置,在其下面启动生成了data,log,tmp,work目录。