使用带有最新完成代码的配置管理器代理检查代理域管理的结果

这是部署配置管理器代理(CMP)应用程序中大型任务中的一部分。

CMP 中多数更改状态的方法不以该方式使用返回码。对于这类方法,查找操作的结果可能会稍复杂些。假设受管对象不在整个线程中共享,则下列代码段可用于查打请求修改代理的 LongDescription 的结果,其中 bBrokerProxy 的实例:
GregorianCalendar oldCCTime =
                         b.getTimeOfLastCompletionCode();
b.setLongDescription(newDesc);
GregorianCalendar newCCTime = oldCCTime;
while ((newCCTime == null) || (newCCTime.equals(oldCCTime))) {
  newCCTime = b.getTimeOfLastCompletionCode());
  Thread.sleep(1000);
}
CompletionCodeType ccType = b.getLastCompletionCode();
if (ccType == CompletionCodeType.success) {
  // etc.
}

在本示例中,应用程序一开始使用 getTimeOfLastCompletionCode() 方法确定代理上的操作的最后一次完成时间。该方法返回拓扑最后一次接收到完成代码的时间;如果未接收到任何返回码,则返回 NULL 值。该应用程序尝试更新代理的 LongDescription,然后不断监视等待 setLongDescription() 命令的结果返回到 CMP 的拓扑。当发生这种情况时,控制中断跳出 while 循环,并确定是最后一次完成代码。

这种算法不但不适用于多线程的应用程序,而且在确定命令结果时效率很低,因为在配置管理器处理请求期间,它会使 CMP 应用程序等待。

执行该操作的更佳方法是使用受管对象通知;请参阅使用带有对象通知的配置管理器代理检查代理域管理的结果

相关任务
使用配置管理器代理检查代理域管理的结果
使用带有返回码的配置管理器代理检查代理域管理的结果
使用带有对象通知的配置管理器代理检查代理域管理的结果
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ae33080_