使用 Java EE 连接器体系结构连接器来访问数据

要从 WebSphere® Application Server 中符合 Java™ EE 连接器体系结构 (JCA) 的应用程序中访问数据,请配置并使用资源适配器和连接工厂。

关于此任务

应用程序组件使用连接工厂来访问连接实例,然后组件使用此实例连接到下层的企业信息系统 (EIS)。连接的示例包括数据库连接、Java 消息服务连接和 SAP R/3 连接。

如 Java EE 连接器体系结构 (JCA) 规范所述,每个企业信息系统 (EIS) 都需要一个资源适配器和一个连接工厂。然后,可以通过以下编程模型来访问此连接工厂。如果您使用 Rational® Application Development 工具,那么将为您生成下列部署描述符和代码中的大部分内容。此示例显示访问 EIS 资源的手动方法。

过程

  1. 在应用程序组件部署描述符中声明连接工厂资源引用,如此例中的描述:
    <resource-ref>
       <description>description</description>
       <res-ref-name>eis/myConnection</res-ref-name>
       <res-type>javax.resource.cci.ConnectionFactory</res-type>
       <res-auth>Application</res-auth>
    </resource-ref>
  2. 在部署过程中,通过控制台来配置每个资源适配器以及相关联的连接工厂。 有关更多信息,请参阅有关安装资源适配器和配置连接工厂的主题。
  3. 在运行时期间,通过在应用程序组件中使用 Java 命名和目录接口 (JNDI) 查找功能,找到 EIS 资源适配器的相应连接工厂。
  4. 从连接工厂获取到 EIS 的连接。
  5. 从连接对象创建交互。
  6. 创建 InteractionSpec 对象。在 InteractionSpec 对象中设置要执行的函数。
  7. 为函数使用的输入和输出数据创建一个记录实例。
  8. 通过 Interaction 对象执行该函数。
  9. 处理来自该函数的记录数据。
  10. 关闭连接。

示例

下列代码段显示了应用程序组件可能会如何创建交互并在 EIS 上实现:

javax.resource.cci.ConnectionFactory connectionFactory = null;
javax.resource.cci.Connection connection = null;
javax.resource.cci.Interaction interaction = null;
javax.resource.cci.InteractionSpec interactionSpec = null;
javax.resource.cci.Record inRec = null;
javax.resource.cci.Record outRec = null;

try {
// Locate the application component and perform a JNDI lookup
   javax.naming.InitialContext ctx = new javax.naming.InitialContext();
   connectionFactory = (javax.resource.cci.ConnectionFactory)
ctx.lookup("java:comp/env/eis/myConnection");

// create a connection
   connection = connectionFactory.getConnection();

// Create Interaction and an InteractionSpec
   interaction = connection.createInteraction();
   interactionSpec = new InteractionSpec();
   interactionSpec.setFunctionName("GET");

// Create input record
   inRec = new javax.resource.cci.Record();

// Execute an interaction
   interaction.execute(interactionSpec, inRec, outRec);

// Process the output...

} catch (Exception e) {
   // Exception Handling
}
finally {
    if (interaction != null) {
         try {
              interaction.close();
         }
         catch (Exception e) {/* ignore the exception*/}
   }
   if (connection != null) {
        try {
             connection.close();
        }
        catch (Exception e) {/* ignore the exception */}
   }
}

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_impjcaapi
文件名:tdat_impjcaapi.html