共享 JVM 的注意事项

在开发要在 CICS ® 中运行的 Java™ 应用程序时,请注意所有正在运行的应用程序和线程可能会看到 JVM 中共享资源的更改。 确保应用程序不会使 JVM 处于其他应用程序可能依赖的意外状态。

以下几点是思考的重要注意事项:
  • 如果应用程序重置缺省时区,那么使用同一 JVM 服务器的其他应用程序将使用新的缺省时区,这可能是意外情况。
  • 请勿在应用程序中使用 System.exit() 。 使用 System.exit() 会导致 JVM 服务器和 CICS 都关闭。
  • 确保应用程序是线程安全的。 需要仔细审查应用程序之间共享的静态变量,以确保应用程序之间没有交叉污染。 确保唯一性的典型模式是使用 ThreadLocal 变量。
  • 如果对象由静态变量引用,那么它们不是垃圾回收的候选者。 在 JVM 服务器中,所有应用程序都将保持静态状态,直到系统程序员禁用 JVM 服务器为止。
  • 可以有多个来自不同应用程序的 DB2® 连接。 因此,当任务使用 DB2完成时,最好关闭连接,即使该连接稍后在任务完成时被删除也是如此。
  • 使用 java.net 包中的类创建的套接字不是 CICS 域套接字,无法由 CICS 管理或监视。