使用配置管理器代理 API 检查部署结果

如果使用的是配置管理器代理应用程序,则可以找到发布/预订拓扑部署操作的结果,例如,通过使用与下面示例类似的代码:
TopologyProxy t = cmp.getTopology();

boolean isDelta = true;
long timeToWaitMs = 10000;
DeployResult dr = topology.deploy(isDelta, timeToWaitMs);

System.out.println("Overall result = "+dr.getCompletionCode());

// Display overall log messages
Enumeration logEntries = dr.getLogEntries();
while (logEntries.hasMoreElements()) {
  LogEntry le = (LogEntry)logEntries.nextElement();
  System.out.println("General message: " + le.getDetail());
}

// Display broker specific information
Enumeration e = dr.getDeployedBrokers();
while (e.hasMoreElements()) {

  // Discover the broker
  BrokerProxy b = (BrokerProxy)e.nextElement();

  // Completion code for broker
  System.out.println("Result for broker "+b+" = " +
    dr.getCompletionCodeForBroker(b));

  // Log entries for broker
  Enumeration e2 = dr.getLotEntriesForBroker(b);
  while (e2.hasMoreElements()) {
    LogEntry le = (LogEntry)e2.nextElement();
    System.out.println("Log message for broker " + b +
      le.getDetail()));
  }
}
直到所有受影响的代理响应了部署请求之后,deploy() 方法才不会阻塞。

方法返回时,DeployResult 表示返回方法的时候部署的结果;配置管理器代理不更新对象。

如果无法将部署消息发送到配置管理器,会在部署时抛出异常 ConfigManagerProxyLoggedException。如果配置管理器接收到部署消息,则整个部署的日志消息会显示,后跟特定于受部署影响的每个代理的完成代码。 完成代码是 com.ibm.broker.config.proxy.CompletionCodeType 类的下列其中一个静态实例:

完成代码 描述
暂挂 部署保留在批处理中,并且直至发出 ConfigManagerProxy.sendUpdates() 后才被发送。
已提交 部署消息已发送到配置管理器,但在发生超时之前未收到响应。
已启动 配置管理器应答称部署已启动,但在发生超时之前没有收到代理的响应。
successSoFar 配置管理器已发出部署请求,并且在超时周期到期之前,某些但非全部代理已作出响应,并带有成功消息。所有代理均无错误响应。
成功 配置管理器已发出部署请求,并且在超时周期到期之前,所有相关代理已成功响应。
失败 配置管理器已发出部署请求,并且至少有一个代理没有响应。可以使用 getLogEntriesForBroker,了解有关部署失败原因的更多信息。
不需要 部署请求已提交给具有所提供的代理的配置管理器,但由于代理的配置已过期,而没有将请求发送给代理。
相关概念
部署概述
配置管理器代理
相关任务
部署
查看代理域日志信息
配置管理器代理跟踪
解决部署消息流或消息集时的问题
解决开发配置管理器代理应用程序时发生的问题
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
af35130_