COBOL 容器概述

COBOL 容器使 COBOL 模块可以装入到批处理地址空间中,且可以直接将其调用。

可以在应用程序服务器的生命周期内多次创建和破坏容器。使用独立于服务器的 Language Environment® (LE) 封套来创建每个容器。每次创建容器时,保证其具有干净的 LE。

Java™ 程序将参数传递到 COBOL 中并检索结果。提供了 COBOL 调用存根生成器工具来基于 COBOL 源中的数据和链接定义进行创建 Java 调用存根和数据绑定。此外,Java 程序创建的 JDBC 类型 2 连接可以在同一事务上下文下与 COBOL 程序共享。

COBOL 容器的值

本产品为 Java 批处理提供综合执行环境。 批处理支持的部分设计是融合了其他信息处理。COBOL 自计算机的发展初期起就是批处理的一部分,并且对 COBOL 资产进行了大量的投入。COBOL 容器提供将 COBOL 直接集成到 Java 处理中的方式。

COBOL 程序的编程限制

在产品环境中运行的 COBOL 程序具有以下编程限制:
  • 不允许用户定义的错误处理程序。
  • 不允许显式事务控制:例如,没有 COMMIT 或 ROLLBACK。
  • 不能设置 DB2® 专用寄存器,例如 SOLID 或 SCHEMA。
  • DD 访问要求用户代码动态分配或取消分配该 DD。
  • 不支持 ENTRY 标签的 Java 调用。
  • 不支持 Java 代码的 COBOL 调用

COBOL 编译需求

您必须使用以下选项来编译要在环境中使用的所有 COBOL 模块:

dll
COBOL 模块必须是 DLL 格式。
rent
COBOL 模块必须包含可重入代码。
thread
COBOL 模块必须是线程安全的。
outdd(WCGILOUT)
为了让 COBOL DISPLAY 输出显示在产品作业日志中,这是必需的。
SQL('ATTACH(RRSAF)')
为了进行 DB2 访问,这是必需的。
您可以在 COBOL 源中指定这些选项:
cbl dll,lib,rent,thread,outdd(wcgilout)
您还可以将这些选项指定为 COBOL 编译器的输入。例如,在 cob2 命令行上输入以下内容:
cob2 -c -bdll,rent,thread,lib,list '-qOUTDD(WCGILOUT)' sample.cbl

COBOL 容器的限制

必须使用 ISOLATE 的工作负载概要文件来配置托管 COBOL 容器的产品。

有关如何配置工作负载概要文件的信息,请阅读关于 z/OS® 平台上的 ORB 服务高级设置的信息。

COBOL 容器的 JDBC 数据源限制

在此部分中列出的限制适用于任何 JDBC 数据源,数据源包含通过 ILContainer.setDB2Connection 在 Java 与 COBOL 代码之间共享的 DB2 类型 2 连接。[还指定 ILContainer.setDB2Connection 的对象类型。]

这些限制确保在关闭 JDBC 连接时,正确清理了 COBOL 代码打开的以及跨 COMMIT 边界存留的任何 DB2 数据构造,例如 WITH HOLD CURSOR。

必须禁用连接池。您可以使用 disableWASConnectionPooling 属性来禁用连接池。要使用管理控制台设置此属性,请单击资源 > JDBC > 数据源 > data_source_name > 定制属性 > 新建。添加名为 disableWASConnectionPooling 的定制属性,然后将该值设置为 true

连接共享必须设置为 UNSHARED。可以使用 globalConnectionTypeOverride 属性将数据源的连接共享设置为 UNSHARED。要使用管理控制台设置此属性,请单击资源 > JDBC > 数据源 > data_source_name > 连接池属性 > 连接池定制属性 > 新建。添加名为 globalConnectionTypeOverride 的定制属性,然后将该值设置为 unshared

有关这些属性的更多信息,请阅读关于“调节连接池”的信息。


指示主题类型的图标 概念主题



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