在 Apache Geronimo 中使用 XMLBeans
如前所述,本文在示例中使用 Apache Geronimo 作为部署容器。在本节中,您将编写一个简单的 XMLBean,然后将其部署在 Geronimo 中。
首先,需要一个 XML 模式。可以使用现有的也可以生成一个 XML 模式。几个 XML 工具,比如 XMLSpy 和 <oXygen/> XML,可以轻易完成该操作。还可以在 XMLBeans 模式生成站点(参阅本文底部 参考资料 一节中的链接)在线生成 XML 模式(参阅本文底部 参考资料 一节中的链接)。
示例 XML 文件如 清单 3 所示。(本文不提供任何示例代码。您应该采用过去使用的 XML 文件,由之生成模式,然后再生成 XMLBean。这使您在阅读本文时可以看到 XMLBeans 发挥作用。
清单 3. book 的 XML 示例

还可以在 XMLBeans Web 站点直接生成 XMLBeans,而不必下载或运行任何实用程序。为此,转到 XMLBeans Schema Validator 站点(参阅 参考资料 中的链接),并进入链接。图 2 展示了屏幕截图。此外,还可以下载 XMLBeans 发行版;它包含一个命令行实用程序和一个可以生成 XMLBean 的 Ant 任务。
图 2. XML 模式验证站点
生成 XMLBeans 之后,就有了包含所需的全部代码的 Java Archive (JAR) 文件。还必须从 Apache XMLBeans Web 站点(参阅 参考资料 中的链接)下载 XMLBean 可执行 JAR,并启动容器(在此为 Apache Geronimo)以使用所创建的 XMLBeans。
如果还没有完成上述操作,则下载并安装 Apache Geronimo(参阅 参考资料 中的下载链接)。假设您已经将 Apache Geronimo 安装在 c:\java\geronimo-1.0 中,将 XMLBeans 安装在 c:\java\xmlbeans-2.1.0 中。下文将这两个目录引用为 GERONIMO_HOME 和 XMLBEANS_HOME。如果选择使用不同的目录结构,一定要相应地修改这些目录名。
虽然使用 XMLBeans 不需要应用服务器,但可以将 XMLBeans 用于部署在任何应用服务器中的 Java 2 Platform, Enterprise Edition (J2EE) 应用程序中,其中包括 Geronimo。本文解释高级概念并展示了一些演示如何操作的伪代码。但是,您应该使用实际文件来完成这些操作以获得最大收益。
设置 J2EE 应用程序
假设您要构建一个简单的应用程序,通过 Web 服务与库或 Amazon.com 交换有关书的信息。典型场景假设您要尝试消费 Amazon Web 服务。可以尝试本文提到的场景之一,或者使用按照前述步骤创建的 XMLBean。
第一步是将 XMLBEANS_HOME\lib 目录中的 .jar 文件复制到 Enterprise Archive (EAR) 中。基于您计划如何以及在哪里使用 XMLBean,可能需要将这些文件放在 APP-INF/lib 或 WEB-INF/lib 中。甚至可以将它们放在 GERONIMO_HOME\lib 目录中,使之可用于部署在本服务器实例上的任何 J2EE 应用程序。
接下来,将 J2EE 应用程序部署在 Apache Geronimo 中,如 developerWorks 文章 “Deploy J2EE applications on Apache Geronimo”(developerWorks,2006 年 1 月)所述。现在可以让 XMLBeans 的能力发挥作用了。
设置 XMLBean
将为 XMLBean 构建的 .jar 文件(使用作为 XMLBeans 发行版一部分提供的实用程序或 XMLBeans Web 站点)放在 APP-INF/lib 或 WEB-INF/lib 中。现在需要的就是针对 XMLBean 编写代码。对于本例,将编写一个简单的 JavaServer Page (JSP),其中包含使用 XMLBean 的一些 Java 代码。
编写代码以处理 XMLBean
清单 2 中的代码允许您创建新 XML 文档;它使用基本 JavaBean 类型的 getter 和 setter 来使用 XMLBean 创建 XML 文档。清单 4 包含的代码允许您将 XML 文件导入 XMLBean 中。
清单 4. 将 XML 文件读入 XMLBean 中

在 JSP 中尝试这种类型的代码,并将 JSP 部署在 Geronimo 中以查看结果。
developerWorks 文章 “Deploy Web services in Apache Geronimo”(developerWorks,2005 年 4 月)展示了如何消费 Amazon Web 服务以及如何在 Apache Geronimo 中使用这些服务。作为练习,可以修改这种技术来使用 XMLBeans。
结束语
在这篇简短的动手文章中,学习了 XMLBeans 的基础知识以及如何使用 XMLBeans。还学习了如何在 Apache Geronimo 中使用 XMLBeans 的主要步骤。这与在 IBM? WebSphere? Application Server、Apache Tomcat、JBoss 或 BEA WebLogic 中使用 XMLBeans 没有任何不同。本文讨论的主题可以无缝地应用于这些产品。
本文还解释了在致力于 SOA 项目时,XMLBeans 可以如何为您节省时间。就特性、灵活性和性能(最重要)而言,它是最好的 Java-XML 绑定技术。