what is JBoss?

转载 2007年10月13日 22:20:00

JBoss是全世界开发者共同努力的成果,一个基于J2EE的开放源代码的应用服务器。 因为JBoss代码遵循LGPL许可,你可以在任何商业应用中免费使用它,而不用支付费用。JBoss支持EJB 1.1和EJB 2.0 EJB3.0的规范,它是一个管理EJB的容器和服务器。类似于Sun's J2SDK Enterprise Edition(J2EE),JBoss的目标是一个源代码开放的J2EE环境。但是JBoss核心服务仅是提供EJB服务器。JBoss不包括serverlers/JSP page 的WEB容器,当然可以和Tomcat或Jetty绑定使用。

JBoss还具有如下六大优点:

1、JBoss是免费的,开放源代码J2EE的实现,它通过LGPL许可证进行发布。

2、JBoss需要的内存和硬盘空间比较小。

3、安装非常简单。先解压缩JBoss打包文件再配置一些环境变量就可以了。

4、JBoss能够"热部署",部署BEAN只是简单拷贝BEAN的JAR文件到部署路径下就可以了。如果没有加载就加载它;如果已经加载了就卸载掉,然后LOAD这个新的。

5、JBoss与Web服务器在同一个Java虚拟机中运行,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。

6、用户可以直接实施J2EE-EAR,而不是以前分别实施EJB-JAR和Web-WAR,非常方便。

JBoss的安装和配置可以直接拷贝使用,但是要改动 %JBoss-HOME%/bin/run.bat里JAVA-HOME的设置,改成本机JDK的目录。运行run.bat来启动JBoss

关闭JBoss:关闭JBoss的 DOS 窗口或按"CTRL + C"

JBoss的目录结构

1、bin:开始和停止JBoss的地方。

其中有两个主要的批处理文件:run.bat和shutdown.bat。要启动JBoss只要执行run.bat文件即可;要停止JBoss必须执行shutdown.bat。

注意,shutdown.bat文件直接执行并不会自动停止JBoss,它必须要输入参数,参数意义如下:

h显示帮助信息;D设置系统属性;-停止处理选项;s停止用JNDI URL指定的远程服务;n通过制定JMX名字来停止服务;a适配到指定的JNDI名称的远程服务;u指定用户名称;p指定用户密码;S停止服务器;e从虚拟机退出;H暂停。

一般,我们使用S选项来停止服务器。即执行shutdown.bat -S。

2、docs:放置JBoss的例子、测试脚本和各种脚本配置文件的DTD。

3、lib:放置JBoss所需要的部分jar包文件。

4、client:放置EJB客户端运行时所需要的jar包。

5、server:放置各启动类型的服务器端EJB配置所需要的文件等。

6、backup

以80端口服务

修改这个文件: {%JBOSS_HOME%}/server/default/deploy/jbossweb-tomcat41.sar/META-INF/jboss-service.xml

在"8080"的配置后加入以下代码

<!-- A HTTP/1.1 Connector on port 80 -->

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"

port="80" minProcessors="5" maxProcessors="100"

enableLookups="true" acceptCount="10" debug="0"

connectionTimeout="20000" useURIValidationHack="false"/>

重新启动JBoss就OK了

JBoss的启动过程

设置环境变量 JBOSS_CLASSPATH (可以自己加上安全管理器和xml解析器)

a) %JBOSS_CLASSPATH%;

b) %JAVA_HOME%/lib/tools.jar;

c) run.jar

d) ../lib/crimson.jar;

设置启动参数JAXP(xml解析器和相应工厂)

启动

设置配置信息

读取配置文件JBoss.properties,保存在系统属性中(System.properties)

设置缺省属性jboss.home和java.security.auth.login.config

创建MBeanServer.的实例:

把配置文件和补丁文件所在的目录指定给特定的远程类加载器Mlet

加载保存配置文件(mlet会自动在配置文件目录中查找)

初始化并启动MBean

配置服务ConfigurationService

加载配置文件

保存配置

服务控制ServiceControl

初始化服务程序(init方法)

启动服务程序(start方法)

在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>

<servlet-name>HelloWorld</servlet-name>

<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


3、对于NT和Win2000系统如果你要安装NT或Win2000服务的话,可以把JBoss加在系统服务中,避免你每次需要到JBoss目录下运行run.bat命令,只是当系统启动时,自动启动JBoss服务器。 
 

来自:http://baike.baidu.com/view/309533.htm

JBoss 目录结构

安装JBoss 会创建下列目录结构: 目录 描述  bin 启动和关闭JBoss 的脚本  client 客户端与JBoss 通信所需的Java 库(JARs)  docs 配置的样本文件(数据库配...
  • qiaqia609
  • qiaqia609
  • 2013年11月21日 11:28
  • 9087

Apache服务器和tomcat服务器和jboss服务器的区别

一概述:         Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。   A...
  • u013126379
  • u013126379
  • 2016年10月29日 22:17
  • 2034

jboss 目录详解及web部署

1、JBoss介绍 JBoss完全实现了J2EE的服务栈: EJB (Enterprise JavaBeans) JMS (Java Message Service) JTS/JTA (Jav...
  • wuxiuguo1
  • wuxiuguo1
  • 2014年01月15日 15:42
  • 3393

JBOSS集成的ActiveMQ处理消息

上篇博客对JBOSS和ActiveMQ集成做了一下实现,这篇用一个DEMO来看如何来用两者集成之后的ActiveMQ来处理消息。 这个DEMO是用STRUTS2+Spring3+MDB实现的,主要的功...
  • lfsf802
  • lfsf802
  • 2013年05月15日 09:50
  • 3269

Eclipse上设置Jboss的发布路径

1.点击Window --->  Preferences  --->  Server  ---->  Runtime Environme 2.点击add按钮,选择相应的服务器 3.选择安装路径及相...
  • Howie_zhw
  • Howie_zhw
  • 2016年05月13日 09:12
  • 2707

Eclipse配置JBoss的方法

第一次接触JBoss,突然让把项目部署到JBoss上,有点不知所错,以下是自己经过半天的倒腾,理的思路。 Eclipse配置JBoss的方法:(基本和tomcat相似)   1)首先要JDK的安装...
  • nikita_wxb
  • nikita_wxb
  • 2014年09月12日 17:21
  • 4783

JBoss启动一闪而过的解决方法

出于某种原因,服务器重装了系统,然后我又安装了jdk并配置了JAVA_HOME和path这两个系统参数。完了以后我开始启动jboss服务,奇怪的一幕出现了,bat窗口一闪而过,没留下任何可供参考的错误...
  • myblog_dhy
  • myblog_dhy
  • 2015年03月06日 09:03
  • 2238

JBOSS安全配置

JBOSS安全配置 思维导图: ![这里写图片描述](http://img.blog.csdn.net/20160508130618797)概念: JBoss应用服务器(JBoss AS)是一个被广泛...
  • shewey
  • shewey
  • 2016年05月08日 13:07
  • 2698

我为什么放弃Jboss和Jboss社区

1.我和jboss的结缘    直到现在还清晰的记得当初在学校和同学一起在jboss 4.0.x 上使用ejb 3.0 将一条数据存进mysql数据库里的那种喜悦之情。     我当初是在一个3、...
  • xiaobing_122613
  • xiaobing_122613
  • 2017年01月19日 09:05
  • 404

项目经验——jboss 配置数据库连接池

数据库的连接和关闭是非常消耗系统资源的,在多层结构的应用环境中,这种资源消耗又直接的反映到系统性能上来。在项目实际应用中,最常用的解决方案便是建立数据库连接池。 一、数据库连接池基本原理 当程序启动...
  • Daybreak1209
  • Daybreak1209
  • 2016年01月19日 08:08
  • 2559
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:what is JBoss?
举报原因:
原因补充:

(最多只允许输入30个字)