MyEclipse EJB Project 快速开始 四

来源:互联网 发布:使用元胞数组 编辑:程序博客网 时间:2024/06/02 12:53

7. Using XDoclet EJB Facilities

在继续Trader EJB 开发过程的第二过程前,我们需要介绍配置和使用XDoclet EJB功能。采用XDoclet技术的好处是标签处理器能够分析标注有XDoclet信息的源代码文件和生成独立的源文件和配置资源。XDoclet 依赖于一个 ANT 脚本来指定他的执行环境和代码生成任务。一个XDoclet 标签由注释模型组成,此模型映射1或多个注释同ANT子任务交互。MyEclipse允许你去配置和定制子任务来执行和它的默认操作值。

默认的, MyEclipse EJB 工程不是自动配置使用XDoclet功能的。这部分展示着几步骤,使用和配置XDoclet 支持的firstejb EJB 工程和执行源于Trader EJB 依赖的源代码和部署组件XDoclet代码生成。


 

7.1 XDoclet EJB Configuration

我们开始通过添加标准的 EJB XDoclet配置给firstejb 工程。这部分最后的目标是产生XDoclet配置,它将用于产生ANT脚本用于MyEclipse执行生产附加EJB部署TraderEJB而所需文件。


7.1.1 Basic EJBDoclet Configuration

 

  1. 打开MyEclipse工程属性页。右键单击firstejb 工程在包浏览视图然后选择Properties > MyEclipse-XDoclet (查看图8)

Figure 8. MyEclipse-XDoclet configuration page

  1. 选择  Add Standard  按钮.
  2. 选择 Standard EJB 配置然后OK 如图 9. 

附加的重新配置XDoclet 模块由MyEclipse所提供,你可以创建你自己的自定义的XDoclet配置。完整自定义XDoclet模块的过程超出了本文档的范围。

Figure 9. Adding Standard EJB configuration

一旦Standard EJB模块已经被添加到列表中,用鼠标选择它来显示这个doclets的内容。注意ejbdoclet 出现在左手列表的下边。子doclets ejbdoclet 包含的下边,包含需要的和可选的子任务。许多子任务对于一个如Trader EJB这样的简单的无状态的绘话Bean都不可用。

Figure 10. Default subtasks for Standard ejbdoclet

  1. 删除不需要的子任务通过右击每个子任务,他们都在左部底下面板,然后选者Remove. 
  2. 继续这一过程直到剩下如图11所示的字任务。在配置中的每一项重新描绘EJB XDoclet 子任务。有一个链接详细说明@ejbdoclet 和它的子任务,在Resources 部分
  3. (可选的)如果一个非默认的源文件夹在工程创建时被指定,以一定要更新工程相关路径属性通过元素ejbdoclet > destDir, deploymentdescriptor > destDir fileset > src 任务. 选择每个这些元素在左部下面的面板,那么回顾修改这些各自的属性在右下部分的面板。

Figure 11. XDoclet EJB subtasks required by Trader EJB

  1. 通过在Build 页中选择来配置这个工程的XDoclet 的编译文件规则。

    注意: 如果这时一个新建的工程,编译规则被设置成默认的规则,那么你可以跳到第9步。

选择Use dynamic build specification  规则如图12所示。

如果你用一个已存在的项目而它已包含XDoclet 配置,那么你可以选择删除不需要的 xdoclet-build.xml 文件。它将不再需要。关于这点规则更加详细的说明请看表2。默认的新的工程被设置使用dynamic build policy. 你可以须改默认设置通过 Window > Preferences > MyEclipse > XDoclet > Build 属性页。


Figure 12. XDoclet Build File Policy Configuration

 2 - Description of XDoclet build policies

Field

Description

用动态编译规范 [推荐]

指示XDoclet处理过程为动态的说明它的编译规范,这个规范是直接来自于项目的XDoclet 配置属性。没有xdoclet-build.xml 文件被创建或被需要。这项规则是被推荐的因为当枪的工程的编译环境是常常被使用。

xdoclet-build.xml 文件

指明MyEclipse-XDoclet 属性惯例为生成一个新建的xdoclet-build.xml 这发生在一个工程的XDoclet 配置属性被跟新和保持时,并且XDoclet 使用这个xdoclet-build.xml 文件在代码生成过程中。警告:一个工程的xdoclet-build.xml 文件将被当此工程的XDoclet 配置信息被修订时产生的新版本覆盖。这条原则仅仅用在你必须手动管理xdoclet-build.xml 文件时。

  1. 选择  OK .  

在完成XDoclet 配置过程将被保存在本地一个名叫.xdoclet 的文件中。另外如果"Use xdoclet-build.xml file" 原则被使用,那么MyEclipse 将产程一个叫xdoclet-build.xml文件,里面存储你的新的XDoclet设置并

且文件包存在跟路径下。

这将完成基础的XDoclet EJB 配置过程。下一个部分目标是如何配置XDoclet EJB 子任务为了你特殊的应用服务器。


7.1.2 Configuring Application Server XDoclet (optional)

 

XDoclet 是能够生成应用程序服务器的特殊部署描述符的。这部分的目标是通过JBoss应用程序服务器的子标签来配置一个XDoclet @ejbdocletXDoclet所支持的应用程序服务器列表可以在弹出菜单中查看到如图13

注意下边部分我们的目的是发布firstejb 到本地的JBoss 3.2 服务器上。因此我们将用JBoss子任务。

  1. 右击 ejbdoclet 然后从菜单中选择Add.  
  2. doclet子任务中选择jboss , 接着选择 OK 如图12所示。


  3. Figure 13.  Adding JBoss subtask to ejbdoclet
     
  4. 如图14所示摄者如下的jboss 属性。

Version = 3.2
destDir =
src/META-INF

Figure 14.  Setting jboss subtask attributes

  1. 选择 OK .

Back to Top


7.2 Running XDoclet Code Generation

一旦你完成配置你的工程的XDoclet 设置,你可以在任何时候运行XDoclet的代码生成。代表的你可以在每次改变XDoclet EJB的配置或应用服务器设置或当你修改任何EJB bean的实现类中XDoclet 声明后去执行XDoclet

Trader EJB 还没有被新建的XDoclet-声明的业务方法扩展时,现在一个好的机会去执行XDocletfirstejb工程中,然后测试一下新的XDoclet 设置。.

1.         为了载 firstejb上运行XDoclet 右击工程然后在菜单中选择MyEclipse > Run XDoclet  (查看图15).

Figure 15. Starting XDoclet code generation on EJB project

  1. 监视Console 视图在xdoclet-build 脚本中的反常信息输出。 16 描述了XDoclet TraderBean 类被加工的过程信息。

Figure 16.  Console output of Run XDoclet action

XDoclet完成后, firstejb 工程应该包含新版本的的Trader TraderHome 接口和 ejb-jar.xml jboss.xml 部署描述符。图17 描述了初始生成这个新工程的资源。

注意: 当我们在第5步创建TraderBean.java 类文件时,我们指明它的Java package 名为 com.genuitec.trader.ejb 并且强调了报名义".ejb" 结尾。这是因为标准的EJB XDoclet包置换(packageSubstitution) 子任务创建一个相应的 Java 包以 ".interfaces" 结尾并且添加了生成的EJB Home 接口到其中。在我们的例子包 com.genuitec.trader.interfaces 将被创建并且它将包含Trader EJB TraderHome 接口。如果你不按照这个包命名习惯那么XDoclet 设置的默认的一些文件将不会被创建。

Figure 17.  Contents of EJB project before and after XDoclet generation