如何配置和使用 OC4J 10g (10.1.3) JCA 1.5 资源适配器


最初撰稿时间:2004 年 11 月 1 日
最后更新时间:2006 年 1 月 16 日
作者:Frances Zhao

简介

该演示应用程序展示了 OC4J 对 JCA 1.5 的支持,以及 Oracle 的通用 JMS 资源适配器 (OracleASjms)。

该应用程序是一个相当简化的库存控制程序。它使用 JSP 允许用户更新库存信息(如存货 ID、定单金额、定单描述),并将这些信息存储到 JMS 队列的每个新更新中。为此,它使用 JCA 1.5 JMS 资源适配器实现到 JMS 提供程序的出站通信。同时,应用程序还包括一个 MDB,用于监听 JMS 提供程序提供的同一个 JMS 队列。当一个消息进入该 JMS 队列时,系统就会触发 MDB。MDB 将检查每个新的库存更新,并在特定项目的库存级别低于阈值时使用 JavaMail API 向联系人发送电子邮件通知。这部分应用程序逻辑将利用同一个 JCA 1.5 JMS 资源适配器实现来自 JMS 提供程序的入站通信。

我们使用的 JMS 提供程序是 OC4J JMS,使用的 JCA 1.5 资源适配器是 OC4J 10.1.3 的通用 JMS 资源适配器 (OracleASjms)。

前提条件

知识准备

  • 应熟悉以下技术:JMS、MDB、JSP;
  • 指向 OTN 上其他 OC4J 方法文档的链接

软件要求

本演示要求安装并正确配置以下软件组件:

  • Oracle Containers for J2EE 10g (10.1.3) 单机版,并配置有一个 Web 站点(如 http-web-site)
  • Sun JDK 1.4.1 或更高版本(可以从 此处获得)
  • Apache Ant 1.6.2 或更高版本,用于构建应用程序,可以从 此处获得
  • 任何 HTML 浏览器,如 Mozilla、Microsoft Internet Explorer、Netscape 等

符号

  • %ORACLE_HOME% — 安装 OC4J 的目录。
  • %JAVA_HOME% - 安装 JDK 的目录
  • %HOWTO_HOME% - 将此演示解压缩到的目录

构建应用程序

请参阅 附属文章,以获得有关该演示应用程序的详细说明。此应用程序的 Javadoc 位于 %HOWTO_HOME%/doc/javadoc/ 目录下。

重要配置文件均位于 %HOWTO_HOME%/etc 目录下,其中子目录 OC4J_DP3_REF 下包含 OC4J 示例配置文件(如 ra.xml、oc4j-ra.xml 等)。您不需要更改这些示例配置文件来构建/运行该应用程序,但它们仍是相关的。

运行应用程序

以下说明适用于在 Oracle Containers for J2EE 10g (10.1.3) 的独立实例上运行本演示。

检查方法文档分发

  • build - 构建过程中创建的临时目录
  • log - 保存构建/部署日志的临时目录
  • etc — 封装此应用程序的所有必要文件
    • OC4J_DP3_REF — 包含 %ORACLE_HOME%/j2ee/home 子目录下的 OC4J 示例配置文件
  • lib — 保存可以部署的应用程序存档(如 ear、war、rar 或 jar 文件)
  • doc — 方法文档和 Javadoc
    • javadoc — 不同源文件的 javadoc
    • how-to-jca-intro.html — 此方法文档页面
  • src — 演示程序的源代码
    • ejb — 包含 MDB 代码
    • web — 包含 HTML 页面和 JSP 代码

设置应用程序

环境配置

ant-oracle.properties
  • oracle.home — oracle 安装的根目录。默认值为 ORACLE_HOME 环境变量。
  • java.home — JDK 安装的根目录。默认值为 JAVA_HOME 环境变量。
  • oracleas.host — 运行 OC4J 实例的平台的主机名。默认值为 localhost。
  • oracleas.http.port — OC4J HTTP 监听程序进行监听时所使用的端口。默认值为 8888
  • oracleas.admin.port  — OC4J 管理处理器进行监听时所使用的端口。默认值为 23791
  • oracleas.admin.user — OC4J 管理员的名称。默认值为“ oc4jadmin”。
  • oracleas.admin.password — OC4J 管理员的口令。默认值为“ welcome”。
  • oracleas.binding.module — 已部署应用程序绑定到的 HTTP Web 站点的名称。默认值为“ default-web-site”。
%ORACLE_HOME%/ant/bin

为被管理的 OracleAS 实例配置环境

g
  • oracleas.http.port — Oracle HTTP Server (OHS) 监听时所使用的端口。
  • oracleas.admin.port — OPMN 请求端口(在 opmn.xml 中指定),其默认值为 6003。您还可以使用以下命令检查 OPMN 请求端口: %ORACLE_HOME%/opmn/bin/opmnctl status -port
  • oracleas.admin.user — OC4J 管理员的名称。默认值为“ oc4jadmin”。
  • oracleas.deployer.uri — 用于执行不同管理操作的 URI(部署,取消部署)。该文件包含不同的 URI,这取决于应用程序的拓扑:独立的 OC4J、被管理的单个节点或被管理的集群。您只需取消与您的拓扑匹配的 URI 的注释即可。
  • oracleas.oc4j.instance — 这是被管理的 OC4J 实例,其中将部署或取消部署应用程序。

JMS 提供程序配置

我们使用的 JMS 提供程序是 OC4J JMS。编辑 %ORACLE_HOME%/j2ee/home/config/application.xml,如果有注释,则去掉名为 oc4jjms 的资源提供程序定义的注释。

资源适配器配置

编辑 %ORACLE_HOME%/j2ee/home/config/oc4j-connectors.xml,如果有注释,则去掉名为 OracleASjms 的连接器定义的注释。执行此步骤后,如果需要, 重新启动(关闭并启动)OC4J 10g。OC4J JMS 资源提供程序应该被加载,并在重新启动后正常运行。

启动 OC4J 实例

g
  • 独立安装: %ORACLE_HOME%/bin/oc4j start
    注意,该 oc4j 命令期望 JAVA_HOME 环境变量指向一个完整的 JDK 安装。

  • 受 OracleAS 管理的安装: %ORACLE_HOME%/opmn/bin/opmnctl startall

生成、编译和部署应用程序

构建应用程序

在顶层 %HOWTO_HOME% 目录中,键入命令:

  • ant

%HOWTO_HOME%/lib 目录中现在应包含新创建的 jcamdb.ear

如果构建成功,此命令还将尝试部署此应用程序。它将首先测试 OC4J 是否正在运行。

在构建演示应用程序之前,您可能要在 %HOWTO_HOME%/src/ejb/bean/simpleMdb.java 文件中修改 onMessage() 方法,替换某些硬编码的电子邮件地址以符合特定环境。或者,您也可以在以后进行第二次修改,然后重新构建应用程序。

部署应用程序

还可以使用以下命令分别部署应用程序。确保定义了 %ORACLE_HOME% 环境变量。在顶层 %HOWTO_HOME% 目录中,键入命令:

  • ant deploy

运行应用程序

在浏览器窗口中,浏览到:

如果网站的主机名或端口号不同,则用实际值替换。

根据所显示的 Web 页上的说明继续演示过程。使用结果页面上的“Back”按钮回到演示首页。

总结

学习完本文档后,您应可以:

  • 了解到 OC4J 10g (10.1.3) 完全支持 JCA 1.5
  • 了解到如何配置和使用 OC4J 的通用 JMS 资源适配器

 

Left Curve
热门下载
Right Curve