使用 JCICS 进行 Java 开发
您可以使用 CICS® 提供的 Java API 编写 Java™ 应用程序,以访问 CICS 服务。JCICS API 支持 EXEC CICS API 提供的大部分 CICS 功能。
为何使用 JCICS?
- Java 是现代应用开发中最受欢迎的编程语言之一。 EXEC CICS API 是为其他 CICS 支持的语言(如 COBOL )提供的,相比之下,JCICS API 允许您用 Java 编写应用程序并直接调用 CICS 服务。 这使得 Java 开发人员更容易编写 CICS 应用程序。
- 与其他 CICS 高级语言不同,在编译期间不需要任何转换步骤,因为底层 EXEC CICS 调用是通过 Java 本机接口 (JNI) 动态生成的。
- JCICS API 支持 EXEC CICS API 的大部分功能,并与之紧密耦合。 因此,如果您了解 EXEC CICS API 并了解一些 Java 知识,那么可以快速熟悉 JCICS。
JCICS 的限制
以下限制适用于在 JCICS 中编写的 Java 应用程序:
- JCICS 中的类无法在开发环境中远程运行。 如果您需要从工作站链接到远程 CICS 程序,请考虑使用 Java development using JCICSXJCICSX API 类。
- 使用 JCICS API 进行模拟并不像使用 JCICSX 那样容易。
- JCICS 的语法类似于设计中的 EXEC CICS 命令,因此可能不像其他 Java API 那样自然。 作为替代方法,您可以使用 JCICSX API 类,它利用了一些 Java 程序员可能更熟悉的最新 Java 构造函数。
- 请勿使用
System.exit()方法。 在 JVM 服务器中运行应用程序时使用此方法将禁用并重新启动 JVM 服务器,并且可能导致数据不一致。 可以使用 Java 安全策略 ,代码扫描或其他措施来阻止调用System.exit()方法。 - 请勿在线程之间共享 JCICS 对象。 只能从创建 JCICS 对象的线程中调用这些对象的实例方法。
- 请勿在 CICS Java 程序中使用终止函数。
如果您在 OSGi 环境中使用 JCICS,请参阅 开发在 OSGi JVM 服务器中运行的 Java 应用程序。
JCICS 用法和样本
- 解析 JCICS 依赖关系
- 您可以从以下任何位置获取 JCICS API:
- IBM® CICS SDK for Java 中提供的构建路径库在 CICS Explorer®.
使用 CICS Explorer 向项目添加库时, JCICS 将自动作为客户机中的 API 提供。 请参阅 创建动态 Web 项目 中的步骤 1 ,以将动态 Web 项目配置为目标 CICS TS。 如果尚未安装 CICS Explorer,请按 设置开发环境中所述进行安装。
- Maven Central 上的 com.ibm.cics.server 工件。 如果尚未安装 Gradle 或 Maven ,请按 设置开发环境中所述安装其中任何一个。
如果您的企业使用本地托管或允许列出的存储库,那么可以使用诸如 JFrog Artifactory 或 Sonatype Nexus 之类的工具来配置要从此类存储库获取的工件。
- 随 CICS 提供的 com.ibm.cics.server.jar 文件位于 USSHOME 目录中。 有关指示信息,请参阅 手动导入 Java 库。
注: 如果要将 JCICS 程序包导入 OSGi 束中,那么需要指定程序包版本。 有关详细信息,请参阅 开发在 OSGi JVM 服务器中运行的 Java 应用程序。 - IBM® CICS SDK for Java 中提供的构建路径库在 CICS Explorer®.
- 在 JCICS 中开发应用程序
以与 Java 类相同的方式使用 JCICS 库中的类。 有关每个 JCICS 类的说明,请参阅 JCICS Javadoc 参考。 有关示例和完整的示例代码,请参阅 GitHub 中的 JCICS API 服务和示例以及 JCICS 示例。
在为 CICS进行开发时,请注意 CICS 尝试将控制传递到由 PROGRAM 资源的 JVMCLASS 属性指定的类中具有
main(CommAreaHolder)特征符的方法。 如果未找到该方法,那么 CICS 会尝试调用方法main(String[])。
故障诊断
您可以使用 Java IDE 的调试器,控制台消息和错误处理信息来调试应用程序。 此外,您可以使用 CEDX 事务 在 CICS中测试应用程序。
如果发生与 CICS 相关的错误 (例如,远程 JVM 服务器或 CICS 事务) ,那么将返回响应 (RESP) 代码。 系统程序员可以使用 JVM 服务器的跟踪和日志进行调试。 有关更多信息,请参阅 Java 应用程序故障诊断。