JBOSS部署

引子:最近接手的工作需要维护原有系统,是用EJB2开发的。转一篇JBOSS部署的文章,重新学习一下。最近几年都用hibernate、ibatis等,老EJB都忘得差不多了。

1、 安装
1.1 、软件安装
首先要安装JDK (仅仅安装JRE 是不行的,因为JSP 页面需要编译),最新的正式版是JDK1.4.2 。然后把JBoss 的压缩包解压到一个目录下,目录名一般是"Jboss_ 版本号",JBoss 目前的最新正式版是JBoss4.0.02004920 日发布)。下面的配置都是针对JBoss3.2.5
1.2 、环境变量的设置
需要的环境变量有JAVA_HOMEJBOSS_HOME 。环境变量JAVA_HOME 设置为刚才JDK 的安装路径,JBOSS_HOME 设置为刚才JBoss 解压后的路径。设置方法如下:
Windows2000 中可以右键点我的电脑,选"属性"-> 选"高级"选项卡 -> 点击"环境变量"按钮 -> 点击系统变量的"新建"按钮,然后在对话框中输入"变量名"为"JAVA_HOME ",变量值为JDK 的安装路径,最后确定。同样的方法添加JBOSS_HOME
1.3 、运行
直接执行JBoss/bin 目录下的run.bat 批处理文件即可,启动时间从20 秒到1 分钟左右不等,视CPU 速度和内存大小而定。
1.4 、终止 JBoss 的运行
最好不要直接关闭运行JBoss 时的控制台窗口,直接关闭控制台可能导致JBoss 下次启动时出现异常。正常关闭JBoss 的方法是另外打开一个控制台窗口,执行JBoss/bin 目录下的shutdown.bat 批处理文件,不过要带一个参数"-S ",注意是大写字母。为了方便起见,也可以创建一个快捷方式。
1.5 、把 JBoss 安装为 Windows2000 的系统服务
每次从控制台启动JBoss 不是很方便,虽然调试程序时可以从控制台看到很多信息,但有的时候需要JBoss 作为系统服务自动运行。这需要下载一个小工具JavaService.exe ,到如下地址下载:
http://www.alexandriasc.com/software/JavaService/index.html
我已经下载了该工具。


2、 WAR 文件的部署
JBoss 支持热部署,也就是war 文件部署到服务器上后不需要重新启动JBossTomcat 不支持这种特性)。war 文件的部署很简单,直接将war 文件拷贝到JBoss/server/default/deploy 目录下即可。

2、 WAR 文件的部署
JBoss 支持热部署,也就是war 文件部署到服务器上后不需要重新启动JBossTomcat 不支持这种特性)。war 文件的部署很简单,直接将war 文件拷贝到JBoss/server/default/deploy 目录下即可。


3、 JBoss 的目录结构
bin 目录:改目录包含各种脚本文件以及相关文件,前面已经用过run.batshutdown.bat 两个批处理文件。

client 目录:存储配置信息和可能被Java 客户端应用程序或外部Web 容器用到的jar 文件。

docs 目录:保存在JBoss 中引用到的XML 文件和DTD 文件(这里也提供了在JBoss 中如何写配置文件的例子)。该目录下有针对不通的数据库(如MySqlOracleSQL ServerPostgres 等)配置数据源的JCA 配置文件。

lib 目录:这里存储运行JBoss 微内核所需的jar 文件。该目录下不要存储任何你自己的jar 文件。

server 目录:这里的每一个子目录对应着一个服务器配置。该配置由运行脚本文件时的参数"-c < 配置名称> "来确定。在server 目录下有三个配置例子,即alldefaultminimal ,每一个配置安装的服务都不一样。其中default 下是缺省配置。

minimal 目录:仅加载启动JBoss 所需的最少服务,如日志服务、JNDIURL 部署扫描器(发现新的部署),不包含Web 容器、EJBJMS

all 目录:启动所有的服务,包括RMI/IIOP 、集群服务和Web 服务部署器(默认配置不会被加载)。

启动JBoss 时,如果run.bat 不带任何参数,则使用的配置是server/default 目录下的配置。如果要以其它目录下的配置启动JBoss ,可以使用如下参数:

run -c all

上述命令将以all 目录下的配置信息启动JBoss 。也可以在server 目录下新建目录,按自己的需要写配置文件。

下面以default 目录为例,介绍服务器配置的目录结构。

conf 目录:该目录下有指定核心服务的jboss-service.xml 文件,也可以放其它服务配置的文件。

data 目录:该目录是JBoss 内置的数据库Hypersonic 存储数据的地方,也是JBossMQthe JBoss implementation of JMS )存储相关信息的地方。

deploy 目录:这是部署J2EE 应用程序(jarwarear 文件)的位置,只需将相应文件拷贝到该目录下即可。该目录也用来热部署服务和JCA 资源适配器。已经有一些服务部署到这个目录了,如jmx-console ,你启动JBoss 后即可访问。JBoss 会周期性的扫描deploy 目录,当有任何组件改变,JBoss 会重新部署该程序。

lib 目录:存放服务器配置所需的jar 文件,比如,你可以将JDBC 驱动程序放在该目录下。

log 目录:存放日志信息。JBoss 使用Jakarta log4j 包存储日志,在程序中你也可以直接使用该信息。

tmp 目录:存储在部署过程中解压时产生的临时文件。

work 目录:Tomcat 编译JSP 文件时的工作目录。

目录datalogtmpworkJBoss 安装后并不存在,当JBoss 运行时自动建立。

4、 JBoss 中和数据库的连接
这里所说的数据库连接是在JBoss 中通过XML 文件配置数据源,在程序中通过名字来访问数据库。从JBoss3.2.3 之后的数据库连接配置比较简单,关于配置文件的书写在JBoss 中针对不同的数据库有相应的例子,配置文件的例子在目录JBoss_HOME/docs/examples/jca 下,如对MySql 数据库的配置文件是mysql-ds.xml 。只要针对数据库的具体情况修改该配置文件即可。修改完成之后,将配置文件拷贝到JBoss_HOME/server/default 目录下。下面是一个设置MySql 数据库为数据源的mysql-ds.xml 配置文件的内容:
<?xml version="1.0" encoding="UTF-8"?>

<datasources>

<local-tx-datasource>

<jndi-name>MySqlTest</jndi-name>

<connection-url>jdbc:mysql://127.0.0.1:3306/test</connection-url>

<driver-class>com.mysql.jdbc.Driver</driver-class>

<user-name>root</user-name>

<password></password>

</local-tx-datasource>

</datasources>

另外,连接数据库所用到的JDBC 驱动程序要拷贝到JBoss_HOME/server/default/lib 目录下。

5、 端口号的修改

  ../server/default/deploy/jbossweb-tomcat55.sar/server.xml

的port 参数


http://blog.sina.com.cn/u/402639f8010007ep
Window下将JBoss安装为服务

1 下载JavaService.exe

2 安装Jboss为JBoss服务

JavaService.exe -install JBoss %JAVA_HOME%/jre/bin/server/jvm.dll -Djava.class.path=%JAVA_HOME%/bin/tools.jar;%JBOSS_HOME%/bin/run.jar -start org.jboss.Main -stop org.jboss.Main -method systemExit -current %JBOSS_HOME%/bin

3 查看服务中,是不是多了个JBoss服务呢,以后可以利用服务来管理JBoss了

4 若要卸载此程序运行:JavaService.exe -uninstall JBoss


http://hi.baidu.com/sengor/blog/item/61616ed947b0532d10df9b71.html

用javaservice将java程序发布为windows服务

上网查了一下怎么才能让java应用变成nt服务,也就是要自动运行没有界面,网上用的比较多的方法大致有三个

1.开源项目javaservice(http://javaservice.objectweb.org/ )

2.开源项目java service wrapper(http://sourceforge.net/projects/wrapper/ )

3.利用jbuilder或其他工具将java类打包成exe文件,然后用微软提供的开发包中的文件将exe发布成服务

我首先排除了3,因为3实在是太麻烦,而且限制比较多

1和2我都实验了一下,说来惭愧,java service wrapper虽然得到了很多牛人的认可,但是我按照文档上的配置方法怎么都不行,总是提示找不到我要执行的main方法

无奈只好用javaservice了,不过这个用起来真的很容易,也很方便

我是这么做的,首先当然是写程序,代码我就不往上贴了,我写了两个类,其中一个包含main方法,我利用jdbc连接oracle数据,通过 timer和timertask,以一定的时间间隔访问数据库,提取特定标记的数据,将这些数据写到一个文本文件中.将两个类写完后生成两个.class 文件,分别是a.class和b.class其中a中包含main方法

因为用到了oracle的jdbc驱动所以要把oracle的driver包一起打包

命令如下:

jar cvf test.jar a.class b.class oracle

其中oracle是从oracle的lib文件夹下classess12.jar内提取出来的oracle文件夹

打包成功后生成test.jar

http://forge.objectweb.org/project/download.php?group_id=137&file_id=6015 下载

JavaService-2.0.10.zip ,解压后得到javaservice和其他一些批处理文件,那些批处理都是例子,比如发布jboss的和发布tomcat的

将javaservice复制到test.jar的同一目录下新建一个文本文件另存为.bat,当然你也可以修改例子用的bat文件

文件一(安装服务)

JavaService -install testservice C:/jdk1.4/jre/bin/server/jvm.dll -Djava.class.path=E:/test/test.jar -Xms64M -Xmx128M -start a -err err.log -current e:/test

具体的含义就不解释了,大家可以去看javaservice的文档,这里需要说明的是start后面是带静态main方法的类,文档写的很清楚

文件二(卸载服务)

javaservice -uninstall testservice

执行文件一即可将其发布为windows的服务

执行文件二可卸载

安装成功后,服务的状态是停止,启动类型为自动

你可能感兴趣的:(jboss)