JBOSS应用中间件

 首先:JBOSS是EJB的服务器,就像TOMCAT是JSP的服务器一样

软件名称JBoss
开发商Redhat
软件语言java
支持标准EJB 1.1、EJB 2.0、EJB3.0

JBOSS是一个基于J2EE的开放源代码应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

 

  • 1、JBoss是免费的,开放源代码J2EE的实现,通过LGPL许可证进行发布。但同时也有闭源的,开源和闭源流入流出的不是同一途径。
  • 2、JBoss需要的内存和硬盘空间比较小。
  • 3、安装便捷:解压后,只需配置一些环境变量即可。
  • 4、JBoss支持"热部署",部署BEAN时,只拷贝BEAN的JAR文件到部署路径下即可自动加载;如果有改动,也会自动更新。
  • 5、JBoss与Web服务器在同一个Java虚拟机中运行,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。
  • 6、用户可以直接实施J2EE-EAR,而不是以前分别实施EJB-JAR和Web-WAR,非常方便。
  • 7、Jboss支持集群

环境搭建

编辑
一、安装JDK
java应用当然首先需要安装java运行环境(JRE),JRE提供了运行java的基本环境。安装jboss需要jdk,jdk中包含jre.
安装完JDK后,需要做如下配置:
我的电脑->;属性->;高级->;环境变量,在系统变量中点击新建下面二项:
1. 名:JAVA_HOME,值:jdk的安装路径
2. 名:CLASS_PATH,值:%JAVA_HOME%\lib
在系统变量path中增加如下内容:;%JAVA_HOME%\bin;
这些做完后,在命令窗口中运行java -version有输出便可
二、安装Jboss
Jboss是Java EE应用服务器(就像Apache是web服务器一样),专门用来运行Java EE程序的。
安装jboss很简单,它不需要安装,直接解压到一个目录下即可
三、安装AOP
对于Jboss我们使用了一些其它组件:AOP,用它来做权限处理,(AOP是一个编程模型,用来对处理代码的方面,横切面),然后jboss自带有,但是自带的不能满足要求,所以需要单独安装和配置
下载解压后,把其中的jboss-40-install/jboss-aop-jdk50.deployer下的所有的文件拷贝到jboss目录的jboss/server/default/deploy/jboss-aop-jdk50.deployer下,覆盖其中的所有文件
打开jboss/server/default/deploy/jboss-aop-jdk50.deployer/META-INF/jboss-service.xml文件,把其中的< attribute name=”EnableLoadtimeWeaving”>false< /attribute>;上的false修改为true.
打开jboss/bin/run.bat(如果是在linux则是jboss/bin/run. s h)文件,修改其中的JAVA_OPTS=”-Dprogram. name=$PROGNAME $JAVA_OPTS”为JAVA_OPTS=”-D program. na me=$PROGNAME -javaagent:pluggable-instrumentor.jar $JAVA_OPTS”.其中有颜色的部分是加上的。
把aop解压目录下的lib/pluggable-instrumentor.jar文件拷贝到jboss/bin目录下
AOP安装完成
 
四、部署应用
跟apache一样,jboss也有一个部署目录,那就是jboss/server目录,其中有三个目录:all,default,minimal,代表了jboss提供的三种部署方式,all表示jboss提供的服务全部打开,default表示默认的jboss服务,minimal表示只打开最基本的。这里面可以增加自己的部署,我们只使用default。
进入default目录后,有以下几个目录:
conf:一些配置文件
data:保存的数据,比如有状态会话bean
deploy:部署目录,所有的应用都部署在这里面,相当于apache的htdocs
lib:部署的应用程序需要使用到的其它库(jar)
log:jboss的日志
tmp:部署应用产生的临时文件
work:工作目录,所部署的应用(一些jar压缩文件)会被解压在这里
 
要部署我们的应用,还需要做以下几步:
A。把jboss/docs/examples/jca/mysql-ds.xml拷贝到jboss/server/default/deploy目录下,并做如下修改:
< connection-url>jdbc:mysql://你要连接的数据库的ip:3306/数据库名zeroDateTimeBehavior=convertToNull< /connection-url>
< driver-class>com.mysql.jdbc.Driver< /driver-class>
< user-name>;用户名< /user-name>
< password>;密码< /password>
B。下载jdbc驱动并把解压后的mysql-connector-java-5.XX-bin.jar拷贝到部署目录的lib中(server/default/lib)
C。现在数据库连接就配置好了,接下来部署myro3,到svn上下载myro_server\build\jar\myro_server.jar,和myro_server\src\META-INF\jboss-aop.xml,myro_server\lib\jml-1.0b3-full.jar,myro_server\lib\ymsg_network_v0_64.jar,myro_server\lib\ymsg_support_v0_64.jar,都拷贝到server/default/deploy下面就可以了.
到此jboss服务器和myro3应用就部署好了,现在只需要启动jboss,便可通过rcp客户端访问你的jboss
打开命令提示窗口,到jboss的bin目录下面,运行:run -b 你的ip 启动jboss便可
剩下的就是修改rcp客户端程序中myroConfig.properties把其中连接的jboss的ip修改为你的ip即可.
对于gwt应用的部署,到时候要提供一个war文件,把它部署到server/default/deploy下面就行了,然后访问http://你的ip:8080/war文件名就可以访问gwt程序.。同时把myro_server/myroConfig.properties部署到jboss/bin中。以上,Jboss环境搭建步骤介绍完毕。
 

使用技巧

目录结构

1、bin:开始和停止JBoss的地方。
其中有两个主要的批处理文件:run.bat和shutdown.bat。要启动JBoss只要执行run.bat文件即可;要停止JBoss必须执行带参数的shutdown.bat。
一般运行命令:run -c 服务器名,例如:run -c all 或 run -c default 或自定义的服务器 run -c ejbtest。
注意,shutdown.bat文件直接执行并不会自动停止JBoss,它必须要输入参数,参数意义如下:
-h 显示帮助信息;
-D 设置系统属性;
-- 停止处理选项;
-s 停止用JNDI URL指定的远程服务
-n 通过制定JMX名字来停止服务;
-a 适配到指定的JNDI名称的远程服务;
-u 指定用户名称;
-p 指定用户密码;
-S 停止服务器;
-e 从虚拟机退出;
-H 暂停(挂起)。
一般,我们使用-S选项来停止服务器。即执行shutdown -S。
2、docs:放置JBoss的例子、测试脚本和各种脚本配置文件的DTD。
3、lib:放置JBoss所需要的部分jar包文件。
4、client:放置EJB客户端运行时所需要的jar包。
5、server:放置各启动类型的服务器端EJB配置所需要的文件等。
6、backup
 
在JBOSS中发布文件
1、制作JSP的war部署文件
用"jar cvf hello.war index.jsp main.jsp"的方式生成把index.jsp和main.jsp文件加入到hello.war中。把生成的hello.war拷贝到jboss安装目录\server\default\deploy\下,部署成功。用"http://localhost:8080/hello/"或"http://localhost:8080/hello/index.jsp"这两个地址进行测试。
2、制作Servlet的war部署文件
A、用[ javac -classpath "%CLASSPATH%;%jboss_home%\server\default\lib\javax.servlet.jar" HelloWorld.java ]的形式编译HelloWorld.java(这是一个Servlet)得到HelloWorld.class
B、写一个web.xml配置文件
代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN"
"http://java.sun. com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>hello.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
每个标记(标签)必须小写,否则会出错。
C、先在c:\servlet下建立一个web-inf目录,在目录中放入web.xml文件。
D、在web-inf目录下建立一个classes目录,放入编译好的HelloWorld.class文件
E、在c:\servlet下执行jar cvf hello.war *.*,很快就生成了一个名为hello.war的文件,接着把hello.war复制到jboss的安装目录\server\default\deploy\下完成部署。
3、也可以不打包,把文件放在deploy下的同名文件夹下也可以。比如原来是制作成hello.war文件,可以建立一个名称为hello.war的文件夹,把要发布的文件拷贝到这个目录底下也可以发布成功。
 
补充
1、JBoss的默认端口是8080
2、对于NT和Win2000系统如果你要安装NT或Win2000服务的话,可以把JBoss加在系统服务中,避免你每次需要到JBoss目录下运行run.bat命令,只是当系统启动时,自动启动JBoss服务器
 
 
posted @ 2017-08-17 14:58  王能武  阅读(2700)  评论(0编辑  收藏  举报