Jboss 下开发EJB简介.doc
需积分: 0 115 浏览量
更新于2007-06-13
收藏 137KB DOC 举报
### JBoss 下开发EJB简介
#### 一、JBoss简介与重要性
JBoss作为一个开源的J2EE应用服务器,自诞生以来便受到了广泛的关注和应用。它不仅支持最新的J2EE规范,而且随着时间的发展,逐渐从一个单纯的EJB容器成长为一个全面支持J2EE的Web操作系统。JBoss因其强大的功能、灵活的架构以及良好的社区支持,在2002年的JavaWorld Editors' Choice评选中荣获“最佳Java应用服务器”奖项。
JBoss为开发者提供了一个稳定的平台,无论是学习还是实际应用,都能满足需求。然而,对于初学者来说,使用JBoss进行EJB开发可能会遇到一定的挑战,因为JBoss并没有提供图形化的配置工具,使得配置和部署过程相对复杂。本文将详细介绍如何在JBoss 3.0环境下配置和部署EJB,帮助初学者快速入门。
#### 二、基本的EJB配置与部署
根据J2EE规范,EJB的部署涉及到几个重要的配置文件:
- `ejb-jar.xml`: 描述EJB的基本信息。
- `web.xml`: Web应用的部署描述符。
- `application.xml`: 企业级应用的部署描述符。
除了这些标准的XML配置文件之外,JBoss还支持特定于平台的配置文件,如`jboss.xml`和`jboss-web.xml`等,用于更细粒度的配置。这些文件通常与`ejb-jar.xml`或`web.xml`存放在同一个目录下。
##### 2.1 JBoss中关于EJB客户端的配置
在客户端调用EJB之前,需要确保客户端能够正确地访问服务器端的JNDI命名服务。如果客户端和服务器位于不同的Java虚拟机上,则需要在客户端提供一个`jndi.properties`文件,该文件应包含如下信息:
- `java.naming.factory.initial`: 初始化上下文工厂类名。
- `java.naming.provider.url`: 服务器地址和端口。
- `java.naming.factory.url.pkgs`: 命名服务相关的包路径。
示例`jndi.properties`文件内容如下:
```properties
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=localhost:1099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
```
此外,还需要将`jndi.properties`文件所在的目录添加到客户端的classpath中。
##### 2.2 JBoss中部署EJB
部署EJB主要有两种方式:
- **方式一**:将`ejb-jar`包和`war`包直接放置在`deploy`目录下,无需额外的配置文件。这种方式适用于简单的情况。
- `ejb-jar.xml`示例:
```xml
<ejb-jar>
<ejb-name>ejbtest</ejb-name>
...
</ejb-jar>
```
- 客户端引用EJB对象示例:
```java
InitialContext ctx = new InitialContext();
Object objRef = ctx.lookup("ejbtest");
ejbtestHome beanHome = (ejbtestHome) PortableRemoteObject.narrow(objRef, ejbtestHome.class);
```
- **方式二**:使用`jboss.xml`文件来进行更精细的配置。当存在多个EJB对象时,这种方式可以帮助更好地管理EJB。
- `jboss.xml`示例:
```xml
<jboss>
<remote-jndi>
<binding name="ejb/MyEJB" jndi-name="ejbtest"/>
</remote-jndi>
</jboss>
```
通过上述两种方式,可以在JBoss 3.0环境下成功部署EJB并实现客户端调用。这种方式虽然较为繁琐,但对于理解和掌握JBoss的部署机制有着重要的意义。
JBoss作为一款强大的J2EE应用服务器,为开发者提供了丰富的功能和灵活性。虽然配置和部署过程可能比其他一些框架更为复杂,但一旦掌握了这些基础知识,就能充分利用JBoss的强大能力来构建高质量的企业级应用。