EJB3.0应用需要运行在JDK1.5以上版本。
EJB3.0应用需要运行在EJB容器里,JavaEE应用服务器包含Web容器和EJB容器。
EJB3.0应用需要以下版本的JavaEE应用服务器:
Jboss(4.2.x以上版本)
Weblogic(10以上版本)
注意:Tomcat目前只是Web容器,它不能运行EJB应用。
jboss的下载页面为 http://www.jboss.org/jbossas/downloads/
首先要安装JDK,配置JAVA_HOME环境变量
如果是JDK1.5版本,可选择jboss-5.0.0.GA.zip
如果是JDK6.0版本,可选择jboss-5.0.0.GA-jdk6.zip
下载完成后,将其解压缩后即可完成安装,解压缩后将其放置到一个不带空格的目录(若目录带有空格,例如:C:"Program Files,日后可能会产生一些莫名的错误)。
添加环境变量:
1)在“系统变量”里添加JBOSS_HOME变量,值为Jboss的安装路径,
如:JBOSS_HOME C:\jboss-5.0.0.GA
2)为了方便jboss的命令,需要把jboss的bin目录添加到系统Path路径里,
如:Path ;%JBOSS_HOME%\bin
在此,JBoss的安装工作已经结束,可通过如下方式测试安装是否成功:
运行JBoss安装目录"bin"run.bat,如果窗口中没有出现异常,且出现:10:16:19,765 INFO [Server] JBoss (MX MicroKernel) [5.0.Beta4 (build: SVNTag=5.0.Beta4 date=20080831605)] Started in 30s:828ms字样,则表示安装成功。
我们可以通过访问: http://localhost:8080/ 进入JBoss的欢迎界面,点击JBoss Management下的JMX Console可进入JBoss的控制台。
若启动失败,可能由以下原因引起:
1)JBoss所用的端口(8080,1099,1098,8083等)被占用。一般情况下为8080端口被占用(例如,Oracle占用了8080端口),此时需要修改JBoss的端口,方法为进入JBoss安装目录\server\default\deploy\jbossweb-tomcat55.sar目录,修改其下的server.xml文件录,在此文件中搜索8080,将其改成你想要的端口即可(例如8088);
2) JDK安装不正确;
3) JBoss下载不完全。
JBoss 的目录结构说明
目录
描述
bin
启动和关闭 JBoss 的脚本( run.bat 为 windows 系统下的启动脚本, shutdown.bat 为 windows 系统下的关闭脚本)。
client
客户端与 JBoss 通信所需的 Java 库( JARs )。
docs
配置的样本文件(数据库配置等)。
docs/dtd
在 JBoss 中使用的各种 XML 文件的 DTD 。
lib
一些 JAR , JBoss 启动时加载,且被所有 JBoss 配置共享。(不要把你的库放在这里)
server
各种 JBoss 配置。每个配置必须放在不同的子目录。子目录的名字表示配置的名字。 JBoss 包含 3 个默认的配置: minimial , default 和 all ,在你安装时可以进行选择。
server/all
JBoss 的完全配置,启动所有服务,包括集群和 IIOP 。
server/default
JBoss 的默认配置。在没有在 JBoss 命令行中指定配置名称时使用。
server/default/conf
JBoss 的配置文件。jboss-service.xml login-config.xml
server/default/data
JBoss 的数据库文件。比如,嵌入的数据库,或者 JBossMQ
server/default /deploy
JBoss 的热部署目录。放到这里的任何文件或目录会被 JBoss 自动部署。 EJB 、 WAR 、 EAR ,甚至服务。
server/default /lib
一些 JAR , JBoss 在启动特定配置时加载他们。 (default 和 minimial 配置也包含这个和下面两个目录。 )
server/default/log
JBoss 的日志文件。
server/default/tmp
JBoss 的临时文件。
server/default/work
存放的是JSP编译后的.java及.class文件,如果调试JSP时出错了,可以到该目录下(一级级去翻吧)去找对应的文件,调试问题。还有个小TIPS,有时我们明明把一个JSP更新到对应的目录里了,可是去刷新页面时,内容还是旧的,为了解决该问题,我们可以到work目录下,将对应的.java及.class文件删了,再刷新即可,这个原因不好推测,有时可以自动刷新,有时不行。单个的TOMCAT都能自动刷新,不知为何集成到JBOSS里却有时不行。还需注意的事,你在清除旧的java、class文件时,不能为了省事,而直接删除目录,否则刷新时会报错的,等着你的就是要重启JBOSS服务了。
$JBOSS-HOME/server/下有3个目录,all/default/minimal,它们是表示3种配置,全部的配置、默认配置、最小配置,我们在启动JBOSS服务时,可以指定:
run –c all 表示是启动all配置(将会加载所有服务);
run 表示是以默认配置启动;
run –c mimimal 表示是启动mimimal配置。
default/data default/log default/tmp default/work 这四个目录可以删除
"conf" 目录的内容
文件
描述
jboss-minimal.xml
这是 jboss-service.xml 配置文件的最简单夫的示例(它是在 minimal 配置文件集里使用的 jboss-service.xml)。
jboss-service.xml
jboss-service.xml 定义了核心的服务及其配置。
jndi.properties
jndi.properties 文件指定了当 InitialContext 使用无参数的构造函数创建时,在 JBoss 服务器里使用的 JNDI InitialContext 属性。
jboss-log4j.xml
这个文件配置了 Apache log4j 框架类别优先级和 JBoss 服务器代码使用的 appender。
login-config.xml
这个文件包含了当使用基于 JAAS 的安全性时适用的服务器端验证配置的样本。
props/*
props 目录包含了用于 jmx-console 的用户和角色属性文件。
standardjaws.xml
此文件提供了旧的 EJB 1.1 CMP 引擎的缺省配置。
standardjboss.xml
此文件提供了缺省的容器配置。
standardjbosscmp-jdbc.xml
此文件为 JBoss CMP 引擎提供了缺省的配置文件。
xmdesc/*-mbean.xml
xmdesc 目录包含了 jboss-service.xml 文件里配置的服务的 XMBean 描述符。
"deploy" 目录的内容
文件
描述
bsh-deployer.xml
此文件配置了可将 bean shell 脚本部署为 JBoss 服务的部署者。
cache-invalidation-service.xml
这个服务允许通过 JMS 通知的 EJB 缓存的自定义 invalidation。它缺省是禁用的。
client-deployer-service.xml
此服务提供对 J2EE 应用程序客户端的支持。它为基于 application-client.xml 描述符的客户端应用程序管理 java:comp/env 企业命名上下文。
ear-deployer.xml
EAR 部署者是负责部署 J2EE EAR 文件的服务。
ejb-deployer.xml
EJB 部署者是负责部署 J2EE EJB JAR 文件的服务。
hsqldb-ds.xml
hsqldb-ds.xml 配置 Hypersonic 嵌入式数据库服务。它设置嵌入的数据库和相关的连接工厂。
http-invoker.sar
http-invoker.sar 包含支持基于 HTTP 的 RMI 的脱管调用者(detached invoker)。它也包含基于 HTTP 访问 JNDI 的代理绑定。
jboss-aop-jdk50.deployer
此服务配置 AspectManagerService 并部署 JBoss AOP 应用程序。
jboss-bean.deployer
jboss-bean.deployer 提供了 JBoss microcontainer,它部署包含在 .beans 文件里的 POJO 服务。
jboss-ha-local-jdbc.rar
jboss-ha-local-jdbc.rar 是支持数据源失效切换的 jboss-local-jdbc.rar 的实验版本。
jboss-ha-xa-jdbc.rar
jboss-ha-xa-jdbc.rar 是支持数据源失效切换的 jboss-xa-jdbc.rar 的实验版本。
jboss-local-jdbc.rar
jboss-local-jdbc.rar 是一个 JCA 资源适配器,它实现支持 DataSource 接口但不支持 JCA 的 JDBC 驱动的 JCA ManagedConnectionFactory 接口。
jboss-xa-jdbc.rar
jboss-xa-jdbc.rar 是一个 JCA 资源适配器,它实现支持 XADataSource 接口的 JDBC 驱动的 JCA ManagedConnectionFactory 接口。
jbossjca-service.xml
jbossjca-service.xml 是 JCA 规格的应用服务器实现。它提供了将资源适配器集成到 JBoss 服务器的连接管理工具。
jboss-web.deployer
jboss-web.deployer 目录提供 Tomcat servlet 引擎。
jbossws.sar
jbossws.sar 提供 J2EE web 服务的支持。
jms/hsqldb-jdbc-state-service.xml
hsqldb-jdbc-state-service.xml 提供 Hypersonic 的 JMS 状态管理。
jms/hsqldb-jdbc2-service.xml
hsqldb-jdbc2-service.xml 使用 Hypersonic 配置 JMS 持久性和缓存。它也包含 作为 JMS 实现的核心服务的 DestinationManager MBean。
jms/jbossmq-destinations-service.xml
jbossmq-destinations-service.xml 配置一系列 JMS 单元测试所使用的 JMS 队列和主题。
jms/jbossmq-httpil.sar
jbossmq-httpil.sar 提供运行通过 HTTP 使用 JMS 的 JMS 调用层。
jms/jbossmq-service.xml
jbossmq-service.xml 文件配置了核心的 JBossMQ JMS 服务。
jms/jms-ds.xml
jms-ds.xml 文件配置了和 jms-ra.rar JCA 资源适配器一起使用的 JBossMQ JMS 提供者。
jms/jms-ra.rar
jms-ra.rar 是一个资源适配器,它为 JMS 连接工厂实现了 JCA ManagedConnectionFactory 接口。
jms/jvm-il-service.xml
jvm-il-service.xml 配置了 JVM 内部的 JMS 传输调用层。
jms/uil2-service.xml
uil2-service.xml 配置了 JMS version 2 统一调用层。它是快速和可靠的基于自定义套接字的传输,用于 JVM 之间的消息传递。
jmx-console.war
jmx-console.war 目录提供 JMX 控制台。JMX 控制台提供管理 MBean 服务器的简单的 web 界面。
jmx-invoker-service.sar
jmx-invoker-service.sar 是一个未解压的 MBean 服务归档,它开放了 JMX MBeanServer 接口方法的一个子集作为 RMI 接口来启用对 JMX 核心功能的远程访问。它和旧的 jmx-rmi-adaptor.sar 类似,区别是传输是由脱管调用者架构来处理的。
jsr-88-service.xml
jsr-88-service.xml 提供了 JSR 88 远程部署服务。
mail-ra.rar
mail-ra.rar 是提供 JavaMail 连接器的资源适配器。
mail-service.xml
mail-service.xml 文件是一个 MBean 服务描述符,它提供在 JBoss 服务器内部使用的 JavaMail 会话。
management/console-mgr.sar
console-mgr.sar 提供 Web 控制台。它是一个 web 应用程序/applet,提供比 JMX 控制台更丰富的 JMX 服务器管理视图。你可以用 URL http://localhost:8080/web-console/ 来访问此控制台。
monitoring-service.xml
monitoring-service.xml 文件配置了警告监控器,如 JMX 通知使用的控制台侦听者和电子邮件侦听者。
properties-service.xml
properties-service.xml 文件是一个 MBean 服务描述符,它允许自定义 JavaBeans PropertyEditor 以及系统属性。
scheduler-service.xml
scheduler-service.xml 和 schedule-manager-service.xml 文件是 MBean 服务描述符,它提供一个调度类型的服务。
sqlexception-service.xml
sqlexception-service.xml 文件是一个 MBean 服务描述符,它处理和供应商相关的 SQLException。
uuid-key-generator.sar
uuid-key-generator.sar 服务提供基于 UUID 的密钥生成工具。