您的位置:首页 > 移动开发

安装和配置JBoss Application Server

2005-01-06 13:34 387 查看
今天的工作主要是安装JBoss。下面在介绍JBoss之后重点讲解配置JBoss Application Server后我总结出的经验。

为什么要选择JBoss作应用服务器?

JBoss是一个符合标准的开放源码的J2EE应用服务器套件的名称,当前最新版本为3.0。JAS套件包括JBossServer EJB v2.0 Container 和server, JBossMQ JMS 1.0 implemetation, JBossNS JNDI implemetation,JBossCMP advanced O/R mapper和JDBC data object storage implemetation以及JAAS-based JBossSX security frameeork。所有的JBoss应用程序都是100%纯java应用程序。

JBoss 3.0包括最新的微型JMX内核、完整的HTTP Server(Jetty或Tomcat)、JCA、EJB2.0,是一个完整的、丰富的基于J2EE规范的应用服务器。

JBoss3.0遵循EJB1.1规范和部分EJB2.0规范。在这方面,它类似Sun's 'J2SDK Enterprise Edition' (J2EE),但JBoss服务器内核仅支持EJB服务器。JBoss内核不包括支持Severlet/JSP的WEB包容器,尽管它捆扎了Tomcat或Jetty。最小内核需要是指JBoss要求的最小内存和磁盘空间。JBoss可以运行在内存为64MRAM的机器上,要求很少的磁盘空间(包括源代码)。Sun's J2EE要求最少128MRAM、31M磁盘空间。由于要求较小内存方面的原因,JBoss启动比Sun J2EE快10倍并自带了一个数据库服务器(Hypersonic SQL Server),在JBoss启动时数据库服务器自动启动(Sun's J2EE也自带了一个CloudScape SQL server,但CloudScape SQL server必须同Sun's J2EE分开启动)。

JBoss完美的功能之一是它支持“热”部署。这个意思是部署一个Bean就是拷贝JAR文件到部署目录那么简单。如果你正在Bean已经部署的情况下进行这个操作,JBoss自动卸载Bean,再部署新版本的Bean。JBoss是基于LGPL的分发,也就是说它是完全免费的。

(编译自:http://www.jboos.org)

安装JAS3.0

首先在Windows下安装JAS,安装成功后,再将JAS移植到Linux服务器上。

·安装JDK1.3,在安装JAS之前,必须在JAS服务器上安装JDK。

·下载JAS3.0的安装程序

首先去JBoss站点下载JAS3.0的安装程序,文件名jboss-3.0.0_tomcat-4.0.31.zip

下载地址1: http://www.jboss.org/downloads.jsp

下载地址2: http://sourceforge.net/projects/jboss/

·释放安装程序

下载后,使用压缩工具WinRAR,把jboss-3.0.0_tomcat-4.0.31.zip释放到c:/,释放之后,在c:下出现jboss-3.0.0_tomcat-4.0.3目录,它就是JAS的主目录。

·运行JAS

JAS的主目录下有一个bin目录,它是JAS的运行入口,run.bat是JAS的windows版运行程序,ruh.sh是JAS的unix版(包括linux、solaris等操作系统)运行程序。双击run.bat文件,弹出运行窗口。



图片1 刚开始运行JAS的窗口



图片2 运行中的JAS窗口

JAS运行成功后,8080端口被Tomcat的Servlet引擎占用,8082端口被JBoss的代理管理占用。Tomcat占用的8080端口可以被修改的,下面将会介绍到。

JAS的目录及其描述

约定说明:在下面,我将JAS中的一些目录进行说明和描述。

JAS的主目录描述为${jboss.home}

·JAS的bin目录名称为bin,描述为${jboss.bin},它用来存放JAS的启动程序和运行时的包,在Windows下JAS的启动程序为run.bat,在Unix下JAS的启动程序为run.sh。

·JAS的client目录名称为client,描述为${jboss.client},它用来存放JAS所用的一些包。

·J2EE Application 所在目录名称描述为${jboss.configuration},JAS在缺省状态下的名称为default,可以通过在运行启动程序时加上参数“-c”来指定名称。例如:

run.bat -c J2EEOA
·JAS的库目录描述为${jboss.home}/server/${jboss.configuration}/lib,在JAS启动时,JAS会自动加载此目录下所有的库文件(扩展名为JAR的压缩文件)。

·JAS的部署目录描述为${jboss.home}/server/${jboss.configuration}/deploy,此目录存放J2EE Application、EJB和一些配置文件,如mysql-service.xml、mail-service.xml、tomcat4-service.xml、jms-service.xml等。

·JAS的配置目录描述为${jboss.home}/server/${jboss.configuration}/conf,此目录存放JAS的配置文件,如jboss-service.xml、log4j.xml、standardjaws.xml、standardjboss.xml、standardjbosscmp-jdbc.xml等。

·JAS日志目录描述为${jboss.home}/server/${jboss.configuration}/log,JAS在缺省状态下的日志文件名为server.log。,可以通过在修改log4j.xml来指定日志文件名,如下所示:

<appender name="FILE" class=
"org.jboss.logging.appender.DailyRollingFileAppender">
<param name="File" value="${jboss.server.home.dir}/log/server.log"/>
<param name="Append" value="false"/>
…
</appender>


图片3 修改log4j.xml指定日志文件

·JAS的Tomcat目录描述为${jboss.home}/catalina,它用来提供Servlet/JSP引擎。

·下面是一个简单的JBoss目录结构图:

/
|--bin
|--client
|--server
|--${jboss.configuration}
|--conf
|--deploy
|--log
…
…
让JBoss和自带的Tomcat同时运行

JAS3.0自带了一个Tomcat Web包容器,但初装时,Tomcat是不能单独启动的,必须在JAS内运行。通过如下配置可以让Tomcat单独运行。

·修改JAS下的tomcat4-service.xml文件,将Tomcat的Http端口设为9090,下面是tomcat4-service.xml的部分代码:

<!-- A HTTP Connector on port 9090 -->
<Connector className =
"org.apache.catalina.connector.http.HttpConnector"
port = "9090" minProcessors = "3" maxProcessors = "10"
enableLookups = "true"
acceptCount = "10" debug = "0" connectionTimeout = "60000"/>


图片4 修改Tomcat的Http端口

· 拷贝${jboss.home}/lib目录下的两个JAR文件jaxp.jar、crimson.jar到${jboss.home}/catalina/common/lib目录。

· 分别启动Tomcat和JBoss。在${jboss.home}/catalina/bin目录下输入startup.bat。tomcat运行了,它占用了8080端口。在${jboss.home}/bin目录下输入run.bat,JBoss也运行了,它的HTTP 引擎占用了9090端口。

到此JAS已经可以用了,下面来配置JAS连接数据库。

连接数据库

说明:项目要求的数据库为Mysql数据库,故必须将JAS和mysql数据库服务器连接起来。

下载mysql的jdbc驱动程序

由于用jdbc连接mysql要使用org.gjt.mm.mysql.Driver驱动程序,故先下载mysql的jdbc驱动程序,按下面的地址将文件mm.mysql-2.0.13-you-must-unjar-me.jar下载下来。

下载地址:http://sourceforge.net/projects/mmmysql/

释放驱动程序

上面下载的驱动程序包括了mm.mysql-2.0.13-bin.jar、开放的源代码和一个LICENSE,用WinRAR释放压缩文件,其中mm.mysql-2.0.13-bin.jar就是mysql的jdbc驱动程序,驱动程序文件名中的2.0.13是驱动程序的版本号。

配置驱动程序

·方法一:(推荐使用此方法)

将mm.mysql-2.0.13-bin.jar拷贝到JAS的库目录即${jboss.home}/server/${jboss.configuration}/lib

·方法二:

在系统变量中加入JBOSS_CLASSPATH,值为mm.mysql-2.0.13-bin.jar的位置:

例如:

在Windows操作系统下
set JBOSS_CLASSPATH= c:/J2EE/jdbc/mm.mysql-2.0.13/mm.mysql-2.0.13-bin.jar


图片5 设置系统变量JBOSS_CLASSPATH

在Unix操作系统下
setenv JBOSS_CLASSPATH /usr/local/jdbc/mm.mysql-2.0.13-bin.jar
在Linux操作系统下
JBOSS_CLASSPATH=/usr/local/jdbc/mm.mysql-2.0.13-bin.jar
export JBOSS_CLASSPATH
安装Mysql服务

${jboss.home}/docs/examples/jca目录存放着JAS提供的数据库映射服务配置文件,包括Oracle、DB2、Informix、MsSQL、Mysql、Hypersonic SQL、Postgres SQL等很多期望的数据库。将mysql-service.xml文件拷贝到${jboss.home}/server/${jboss.configuration}/deploy目录。

配置mysql-service.xml

在mysql-service.xml中修改以下几项的值,其它项是否要改根据情况而定。

·JndiName

·ConnectionURL

·DriverClass

·UserName

·Password

<depends optional-attribute-name="ManagedConnectionFactoryName">
<!--embedded mbean-->
<mbean code="org.jboss.resource.connectionmanager.RARDeployment"
name="jboss.jca:service=LocalTxDS,name=MySqlDS">
<attribute name="JndiName"> myProjectDS</attribute>
<attribute name="ManagedConnectionFactoryProperties">
<properties>
<config-property name="ConnectionURL" type="java.lang.String">
jdbc:mysql://192.168.0.6/myProject</config-property>
<config-property name="DriverClass"
type="java.lang.String">org.gjt.mm.mysql.Driver</config-property>
<!--set these only if you want only default logins, not through JAAS -->
<config-property name="UserName"
type="java.lang.String">test</config-property>
<config-property name="Password"
type="java.lang.String">test</config-property>
</properties>
</attribute>
<!--Below here are advanced properties -->
<!--hack-->
<depends optional-attribute-name="OldRarDeployment">
jboss.jca:service=RARDeployment,name=JBoss LocalTransaction JDBC Wrapper</depends>
</mbean>
</depends>
源代码:立即下载

到此,所有的准备工作都做好了,现在只需运行JAS,看一看这台连接Mysql数据库的JAS是否配好了。

如果JAS在Windows下运行正常,就把JAS移植到Linux服务器上。在Linux 服务器上运行JAS要用run.sh来启动。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: