第五部分: 创建ejb-jar 文件
[ <<BACK ] [ CONTENTS ] [ NEXT>> ]
Enterprise JavaBeans 的最大优势,就在于它可以对服务器端的逻辑进行打包和拆分,这种可移植性风格与
GUI 组件相同。在该操作步骤中,需要对源文件进行编译。然后,将其打包为 ejb-jar 文件。按照下面的四个步骤操作,就可以创建 Demo.jar ejb-jar 文件。该文件可在Enterprise JavaBeans 容器内配置或安装。
1. .java
文件的编译
- 创建DeploymentDescriptor(部署描述文件)
- manifest的创建
- 应保证包含所有的部件
- 创建
ejb-jar 文件
1. .java 文件的编译
在刚创建的文件,即home及远程接口、Enterprise JavaBeans bean 上,运行 javac。
javac ejb/demo/DemoHome.java
javac ejb/demo/Demo.java
javac ejb/demo/DemoBean.java
2. 创建Deployment Descriptor(部署描述文件)
注意:部署是Enterprise JavaBeans
中的术语,指的是在Enterprise JavaBeans 容器中安装Enterprise JavaBeans 组件。
部署描述文件的作用是在部署之前,允许您通过 bean的程序对
bean 的诸多属性进行定制。在Enterprise JavaBeans
技术规范(15.2 部分)中,部署描述文件被描述成一个javax.ejb.deployment.SessionDescriptor 或javax.ejb.deployment.EntityDescriptor的实例。在 DemoBean 的例子中,是 javax.ejb.deployment.SessionDescriptor
的实例。以下是一个输入到 WebLogic的实用工具的文本文件,介绍创建该部署描述文件的过程。
值得注意的是,对创建部署描述文件的方法没有具体的规定。因此,Enterprise JavaBeans 的创建和部署工具可能会在外观和感觉上各不相同,这不会对 beans 本身的跨平台部署能力产生影响。
在下面的例子中,将继续通过 WebLogic 工具创建部署描述文件。BEA Weblogic 服务器工具可为用户提供命令行及图形界面(GUI)配置工具。通过命令行工具对Enterprise
JavaBean 进行配置时,需执行以下命令:
java weblogic.ejb.utils.DDCreator -dir
ejb/demo ejb/demo/DeploymentDescriptor.txt
这样,就可以在目录 ejb/demo 下生成一个 DemoBeanDD.ser 文件。
以下是一个输入到 BEA Weblogic 工具的文本文件实例 DeploymentDescriptor.txt (源程序):
(SessionDescriptor
; This file must start with SessionDescriptor or
; EntityDescriptor
; Indicate the name which the bean will be bound
; into the JNDI name as
beanHomeName demo.DemoHome
; The enterprise Java Bean class (see step 4)
enterpriseBeanClassName ejb.demo.DemoBean
homeInterfaceClassName ejb.demo.DemoHome
; The home interface implemented by a class
; generated by the container provided tools
; see step 3
remoteInterfaceClassName ejb.demo.Demo
; See step 2
isReentrant false
; Always false for session beans
stateManagementType STATELESS_SESSION
; Either STATELESS_SESSION or STATEFUL_SESSION.
; DemoBean is a stateless session bean
sessionTimeout 5
; seconds
(controlDescriptors
; This section decides the run-time properties when
; a method is called. The DEFAULT sub-section applies
; to all methods, but can be overridden on a per-method
; basis, similar to the "accessControlEntries" above.
(DEFAULT
isolationLevel TRANSACTION_SERIALIZABLE
transactionAttribute TX_REQUIRED
runAsMode CLIENT_IDENTITY
)
; end isolationLevel
)
; end controlDescriptors
(environmentProperties
maxBeansInFreePool 100
)
; end environmentProperties
)
; end SessionDescriptor
注意:此处是以BEA Weblogic 服务程序为例作介绍的,其注释行以分号
(;) 作为开头。
3. manifest的创建
manifest是由 jar 应用程序自动生成的,但这需要一个模板。故需创建一个包含如下内容的文本文件(如,ejb/demo/manifest.txt)。如需了解该文本文件的使用,请参见下一章节的“bean 的打包”部分。
欲获取有关manifest文件的说明,请参见Enterprise
JavaBeans 技术规范中的 15.3 部分。
Name: ejb/demo/DemoBeanDD.ser
Enterprise-Bean: True
4. 确保包含所有部件
以下是Enterprise JavaBeans 的开发者和提供者应提供的创建有效 ejb-jar 文件,即Enterprise JavaBeans bean,所需的各种部件:
- Enterprise bean 类 + 其它支持 bean 的各种类(步骤
4)。
- Enterprise bean 远程接口(步骤 2)。
- Enterprise bean home接口(步骤 3)。
- A deployment descriptor (部署描述文件)(参见以上说明)。
- 如 bean 需要,还应包含一个
java.util.Properties
的实例。
ejb-jar 文件中用来确定配置描述符的manifest(货单)文件。
欲了解更多详情,请参见Enterprise JavaBeans 技术规范,第 16 章。
Enterprise JavaBeans
bean 提供商应将以上提及的所有类都包含在 ejb-jar 文件中。并且,绝大部分的容器和服务器提供商一般都会提供打包和配置工具。
manifest
manifest是由 jar 应用程序自动生成的,但这需要有一个模板。因此,应按以下说明创建一个文本文件(比如, ejb/demo/manifest.txt)。如需了解该文本文件的使用,请参见下一章节的“bean 的打包”部分。
欲了解manifest文件的有关说明,请参见Enterprise JavaBeans Specification,15.3 部分。
Name: ejb/demo/DemoBeanDD.ser
Enterprise-Bean: True
5. ejb-jar 文件的创建
在本例中,只需将所有的部件压缩为名为 Demo.jar
的一个文件。有理由相信,未来的工具会使打包及 ejb-jar
文件的创建变得更加简便。这就像 GUI 向导能够引导您进行相关的安装和检查一样容易。
比如,要创建一个名为 Demo.jar
的 ejb-jar 文件,假定压缩文件的所有部分均在名称为 ejb 的目录下。您所要做的只是在该目录下创建一个压缩文件。
注意:通过 m 参数,将文件压缩并以 ejb/demo/manifest.txt,以作为manifest模板。将文件manifest.txt 添加到该压缩文件中,这并不是必需的。
jar cvfm Demo.jar ejb/demo/manifest.txt
ejb/demo/*.class \
ejb/demo/*.ser
检查 Demo.jar 文件的输出是否与下列文件相同:
jar tf Demo.jar
META-INF/MANIFEST.MF
ejb/demo/Demo.class
ejb/demo/DemoBean.class
ejb/demo/DemoHome.class
ejb/demo/DemoBeanDD.ser
从上面的例子可以看出,对于 ejb-jar 文件也没有什么特别的规定。
<<
BACK NEXT >>
|