提高效率:单更新和只读协议
如果资源管理器可以执行单阶段落实,那么可以通过 CICS® 单更新和只读协议来提高系统的效率。
单更新协议
许多 CICS 事务仅使用一个外部资源管理器。 在这种情况下,单阶段落实是适当的。
- 资源管理器可以将事务所需的日志强制数从 2 减少到 1。
- 减少了 CICS 写入的与事务相关的日志记录数。
- 实现了路径长度缩减,因为仅在同步点调用一次 TRUE ,而不是调用两次。
要利用这些优势,与任务相关的用户出口程序必须向 CICS 指示资源管理器理解单更新协议,并且它 (TRUE) 可以处理同步点调用以执行单阶段落实。 它通过在 DFHUEPAR 参数列表中 UEPSYNCA 指向的字段中设置 UEPSUPDR 标志来指示这一点。 它必须在每次在调度标志字中设置同步点管理器位时执行此操作。
如果出口程序设置了 UEPSUPDR 标志,那么当同步点管理器下一次调用 TRUE 时,它会通知它资源管理器是否是当前 UOW 中唯一具有更新资源的资源。 它通过 UERTONLY 位 (在同步点管理器的参数列表的操作字节 2 中) 执行此操作; 如果设置为 on ,那么可以要求资源管理器执行单阶段落实。
只读协议
如果资源管理器在整个当前工作单元 (UOW) 中处于只读方式,那么可以实现类似的效率增益。
同样,单阶段落实也适用。 要获得好处,资源管理器必须将指示 UOW 是否为只读的标志返回到 TRUE。 该标志可能显示到目前为止 UOW 的 "历史记录" (例如,到目前为止它是只读的) ,或者显示当前请求是否是只读的。 反过来, TRUE 必须使用迄今为止的 UOW 历史记录更新 DFHUEPAR 参数列表中的 UEPREADO 标志。 即,它最初必须设置 UEPREADO ,但在 UOW 包含更新后立即取消设置 UEPREADO。 (一旦取消设置 UEPREADO , CICS 将忽略当前 UOW 期间标志的任何后续设置,并将 UOW 视为包含更新。)
在 UOW 结束时,如果仍设置 UEPREADO 标志,那么同步点管理器将使用指令来调用 TRUE ,以向资源管理器发出单阶段落实 (通过将 UERTELUW 位设置为 on)。