Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2080383
  • 博文数量: 519
  • 博客积分: 10070
  • 博客等级: 上将
  • 技术积分: 3985
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-29 14:05
个人简介

只问耕耘

文章分类

全部博文(519)

文章存档

2016年(1)

2013年(5)

2011年(46)

2010年(220)

2009年(51)

2008年(39)

2007年(141)

2006年(16)

我的朋友

分类:

2007-08-20 14:53:07

一.JBoss 简介

JBoss是一个免费的开源应用服务器,全面支持J2EE,包括JSPServletsEJB。为了让J2EE开发人员快速熟悉JBoss,本文将带您开始JBoss之旅,包括下载,安装,部署应用程序和配置数据源。     二.工具准备 

 

为了运行JBoss,你需要准备以下工具: 

 

       JDK 1.3.1或更高。 

 

为了在JBoss上开发应用程序,你可能还需要以下开发工具: 

 

       Ant 1.5,一个Java Build Tool。 

 

       XDoclet 1.1.2,一个用于生成代码的Javadoc插件。 

 

       JBoss Project Template 

 

  

 

三.下载 

 

可以从获得JBoss,JBoss现在有两种供你选择:标准版,包括用于Web页和Servlets的Jetty,和另一个用Tomcat替换Jetty的版本。 

 

在写作本文时,JBoss 3.2.1是最新的稳定版本。 

 

  

 

四.安装 

 

解压压缩包到一个指定的目录,例如jboss-3.2.1,解压完毕后,应该生成如下目录: 

 

       bin:命令和脚本 

 

       client:客户端jars 

 

       docs:JBoss的文档 

 

       lib:服务器端jars 

 

       server:服务器配置文件 

 

第二步,建立以下环境变量: 

 

       JBOSS_HOME:设置为JBoss的安装目录。 

 

       JAVA_HOME:设置为JDK的安装目录。 

 

  

 

五.服务器配置 

 

JBoss提供了3种服务器配置: 

 

      1)Minimal:最小配置,仅仅包括日志,JNDI服务和URL部署扫描器,你可能会在一个不需要J2EE的应用中使用这种配置,或者以该配置为基础自定义配置。 

 

      2)Default:缺省配置,包括除了RMI/IIOP和集群的所有J2EE服务。 

 

      3)All:这种配置包括所有的JBoss服务。 

 

  

 

六.启动 

 

为了启动JBoss,在Windows下: 

 

       打开一个命令行窗口; 

 

       键入:cd %JBOSS_HOME%\bin; 

 

       键入:run [-c default|minimal|all]。 

 

UNIX下: 

 

       打开一个Shell 

 

       键入:cd $JBOSS_HOME/bin; 

 

       键入:./run [-c default|minimal|all]。 

 

如果JBoss启动成功,你应该可以看到以下输出: 

 

21:11:16,637 INFO [Server] JBoss (MX MicroKernel) [3.2.1 (build: CVSTag=JBoss_3 _2_1 date=200305041533)] Started in 26s:919ms 

 

一旦服务器启动成功,你就可以通过在浏览器中打开来验证所有的J2EE服务是否都启动了。这是JBoss的管理台,它将显示当前配置下JBoss正在运行的所有服务以及每个服务的详细内容。 

 

JBoss也可以作为NT服务或者Unix服务来运行,可以参考"JBoss 3.0 Quick Start Guide"。 

 

  

 

七.关闭 

 

如果在Windows的命令行窗口或者当前的Unix Shell下运行JBoss,只需要简单的按下Ctrl+C即可关闭JBoss。 

 

如果在Windows下不能看见命令行窗口: 

 

       打开一个新的命令行窗口; 

 

       键入:cd %JBOSS_HOME%\bin; 

 

       键入:shutdown -S或者shutdown --server=url。 

 

如果在Unix Shell的后台运行: 

 

       打开一个Shell 

 

       键入:cd $JBOSS_HOME/bin; 

 

       键入:./shutdown -S或./shutdown --server=url。 

 

  

 

八.管理 

 

JBoss通过一个基于Web的控制台管理,你只需在浏览器中键入:即可。查看或更改某一服务的配置,只需简单的点击链接。 

 

通过控制台,你还可以使用一些服务的公开的方法,例如,关闭服务器: 

 

       1)打开控制台; 

 

       2)卷动到"jboss.system"选项; 

 

       3)点击链接"type=server"; 

 

       4)卷动到"void shutdown()"选项; 

 

       5)点击"Invoke"按钮。 

 

  

 

九.部署应用程序 

 

JBoss中部署应用程序是再简单不过的了。简单的复制你的应用程序打包文件:.jar.war或者.ear到服务器缺省的部署目录下,如果JBoss正在运行,将检测到文件,自动解压,然后装载应用程序。 

 

以下是将一个应用部署到一个缺省的服务器配置的例子,在Windows下: 

 

       复制rotmachine.ear到%JBOSS_HOME%\server\default\deploy 

 

Unix下: 

 

       复制rotmachine.ear到$JBOSS_HOME/server/default/deploy 

 

  

 

在部署过程中,JBoss日志将在控制台窗口输出信息并写入日志,日志文件位于服务器的配置目录。如果部署成功,你应该可以看到以下信息: 

 

22:21:44,730 INFO [MainDeployer] Deployed package: file:/C:/jboss-3.2.1/server/default/deploy/rotmachine.ear 

 

此外,如果你打开JBoss的管理台,可以在"jboss.j2ee"类别下列出你的应用。 

 

  

 

十.取消已部署的应用 

 

取消已部署的应用程序比部署应用程序更简单。只要简单的从部署目录中删除相应的应用程序文件,JBoss就会检测到文件已被删除,然后取消已部署的应用。 

 

取消部署一个应用时,JBoss日志将在控制台窗口显示信息,并记录到服务器日志。如果取消部署成功,你应该可以看到以下信息: 

 

22:59:41,500 INFO [MainDeployer] Undeployed file:/C:/jboss-3.2.1/server/default/deploy/rotmachine.ear 

 

十一.数据源 

 

如果你的应用程序将连接到数据库,你可能需要为数据库配置一个数据源。以下是如何配置一个简单的数据源: 

 

如果你使用的数据库JDBC驱动没有在服务器的lib目录中,复制驱动程序到此目录,然后重新启动JBoss 

 

为你的数据库创建一个数据源描述文件,例如,oracle-ds.xml 

 

部署数据源描述文件,方法和部署应用程序相同。 

 

以下是oracle数据源的一个描述文件示例: 

 

 

 

 

 

   

 

    OracleDS 

 

    jdbc:oracle:thin:@serverip:1521:DB 

 

    oracle.jdbc.driver.OracleDriver 

 

    dev 

 

    secret 

 

   

 

 

 

其它的数据源描述文件的示例可以在JBOSS_HOME/docs/examples/jca中找到。 

 

  

 

EJB

JBoss创建EJB和其他任何J2EE应用服务器一样,但需要一个额外的JBoss使用的EJB部署描述文件jboss.xml,以下是一个示例: 

 

 

 

 

  "http:///j2ee/dtd/jboss.dtd"> 

 

 

 

   

 

     

 

      Processor 

 

      ejb/Processor 

 

     

 

     

 

      Data 

 

      ejb/Data 

 

     

 

   

 

 

 

请注意,和其它J2EE服务器不同,JBoss不需要生成存根文件(stubs and skeletons),它能动态调用EJB。 

 

  

 

客户端 

 

正如上文所说,JBoss不需要客户端存根(stubs),你只需向客户端提供以下接口: 

 

       EJB Home接口和Remote接口; 

 

       任何在客户端和EJB间传递的对象; 

 

       一份JBOSS_HOME/client/jbossall-client.jar的文件拷贝。 

 

以下是连接已部署在JBoss中的EJB的示例: 

 

// 创建环境: 

 

Hashtable env = new Hashtable(); 

 

env.put("java.naming.factory.initial", 

 

  "org.jnp.interfaces.NamingContextFactory"); 

 

env.put("java.naming.factory.url.pkgs", 

 

  "org.jboss.naming:org.jnp.interfaces"); 

 

env.put("java.naming.provider.url", "localhost"); 

 

// 创建名字上下文: 

 

InitialContext context = new InitialContext(env); 

 

// 查找Home接口: 

 

CipherHome home = (CipherHome)context.lookup("ejb/org/rotmachine/Cipher"); 

 

// 获得Remote接口: 

 

Cipher cipher = home.create(); 

 

一个示例应用 

 

为了帮助你更好的了解JBoss,本文包含了一个名为RotMachine的应用程序,请参见资源链接。 

 

RotMachine是一个简单的J2EE应用,包括一个 EJB(Stateless Session Bean),一个Web客户端和一个命令行(Command-line)客户端。它使用JBoss的项目模 板(Project Template),你可能需要上文提到的一些额外的开发工具。 

 

如果要编译RotMachine的源文件,解压文件到一个指定的目录中,在Windows下: 

 

       打开一个命令提示符窗口; 

 

       键入:cd  (解压目录) 

 

       键入:ant deploy-server 

 

Unix下: 

 

       打开一个Shell 

 

       键入:cd  (解压目录) 

 

       键入:ant deploy-server 

 

要在命令行客户端测试RotMachine,在Windows下: 

 

       打开一个命令提示符窗口; 

 

       键入:cd build\bin; 

 

       键入:run-client。 

 

Unix下: 

 

       打开一个Shell; 

 

       键入:cd build/bin; 

 

       键入:./run-client.sh。 

 

要在Web客户端测试RotMachine,请打开浏览器,输入:"",在表单中输入一些文本,点击"Go!"按钮。 
阅读(1485) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~