EJB 组件是为企业级应用设计的 java 组件模型,是基于标准分布式对象技术,提供了应用的商务逻辑部分。实现了 EJB 规范的应用服务器提供了可以解决安全性、资源共享、持续运行、并行处理、事务完整性等复杂问题的服务,从而简化了商业应用系统。但是手工写一个EJB是一件麻烦事,因为要写很多的接口文件,还要自己编写部署描述符,工作量大不说,还容易出错,通过Xdoclet来生成EJB则把开发人员从这种痛苦中解放出来,使得开发人员更关注于业务逻辑的实现,而不是底层的实现机制,从而提高开发效率。
XDoclet生成EJB组件的原理很简单:通过bean类本身来查看整个组件,而不是通过操作多个ejb文件。bean类文件的javadoc注释中放入特殊@标签,让一个Doclet的工具来寻找这些标签,然后根据bean给的信息集合来生成合适的XML描述和接口。
1. 通过MyEclipse的向导新建无状态的sessionBean
图一 建立无状态
SessionBean(1)
图二 建立无状态
SessionBean(2)
图三 建立无状态
SessionBean(3)
注意:包名必须以
ejb为后缀,类名必须以Bean为后缀,这是XDoclet缺省配置的要求,否则需要修改其配置。
2.
在新建的无状态sessionBean类中修改、添加XDoclet标记
图四 修改
XDoclet标记 (1)
注意:Bean级别的
XDoclet标记:其中@ejb.bean、@ejb.transaction标记必@weblogic.pool、@weblogic.transaction可选。
图五 修改
XDoclet标记 (2)
注意:ejbCreate()方法的标记,确保
@ejb.create-method标记存在。
图六 修改
XDoclet标记 (3)
注意:方法级别的标记,确保所有需要暴露的业务方法前存在
@ejb.interface-method标记,并且业务方法只抛出AppException和SysException异常。
3.XDoclet
配置:
Eclipse Package Explorer视图下
-> 选择工程 -> 右键 -> properties -> MyEclipse -> XDoclet Configuration -> Add Standard->选择Standard EJB
图七 配置
XDoclet标记 (1)
选择
ejbdoclet配置具体的任务:首次生成接口时选中deploymentdescriptor、fileset、homeinterface、localhomeinterface、localinterface、remoteinterface、weblogic;以后根据需要自己进行选择(比如home接口和localhome接口生成一次后不会再变化,再次生成的时候可以不用选择,这样就不会重新生成)。
图八 配置
XDoclet标记 (2)
注意:配置
deploymentdescriptor,主要是destDir属性的设置,该属性定义生成的部署描述符文件的位置。
图九 配置
XDoclet标记 (3)
注意:配置
fileset,dir属性使用默认的src;includes属性指定路径下需要生成接口文件的java源文件,可使用通配符。
homeinterface、
localhomeinterface、localinterface、remoteinterface没有需要特别设置的属性。
图十 配置
XDoclet标记 (4)
注意:配置
weblogic,Createtables属性设为Disabled;Version设为8.1;destDir属性定义生成的部署描述符文件的位置。
4
.运行XDoclet:自动生成
4个接口文件和2个部署描述符文件。
Eclipse Package Explorer -> 选择工程
-> 右键 ->
下面一步步演示如何利用XDoclet生成EJB组件。