UDDI 节点层的管理

可以使用 UDDI 注册中心管理界面来设置发布层限制,这些限制可控制发布者可以保存在 UDDI 注册中心中的每种 UDDI 实体的数目。

一个层具有标识、管理员定义的名称和描述及限制集,每种实体都有一组。UddiNode MBean 提供以下操作来管理层:
  • createTier
  • getTierDetail
  • getTierInfos
  • getLimitInfos
  • setDefaultTier
  • updateTier
  • deleteTier
  • getUserCount

WebSphere® Application Server 的样本中,UDDI 注册中心样本中的 ManageTiersSample 类演示这些操作。

createTier
创建新层,为每个 UDDI 实体指定发布限制。
  1. 用 TierInfo 对象设置层的名称和描述。
    String tierName = "Tier 100";
    String tierDescription = "A tier with all limits set to 100.";
    
    TierInfo tierInfo = new TierInfo(null, tierName, tierDescription);
  2. 为每个 UDDI 实体定义 Limit 对象:
    List limits = new ArrayList();
        
    Limit businessLimit = new Limit();
    businessLimit.setIntegerValue(100);
    
    businessLimit.setId(LimitConstants.BUSINESS_LIMIT);
    
    Limit serviceLimit = new Limit();
    serviceLimit.setIntegerValue(100);
    serviceLimit.setId(LimitConstants.SERVICE_LIMIT);
    
    Limit bindingLimit = new Limit();
    bindingLimit.setIntegerValue(100);
    bindingLimit.setId(LimitConstants.BINDING_LIMIT);
    
    Limit tModelLimit = new Limit();
    tModelLimit.setIntegerValue(100);
    tModelLimit.setId(LimitConstants.TMODEL_LIMIT);
    
    Limit assertionLimit = new Limit();
    assertionLimit.setIntegerValue(100);
    
    assertionLimit.setId(LimitConstants.ASSERTION_LIMIT);
    limits.add(businessLimit);
    limits.add(serviceLimit);
    limits.add(bindingLimit);
    limits.add(tModelLimit);
    limits.add(assertionLimit);
  3. 创建 Tier 对象:
    Tier tier = new Tier(tierInfo, limits);
  4. 调用 createTier 操作并检索创建的层:
    Tier createdTier = uddiNode.createTier(tier);
  5. 检查针对创建的层生成的层标识:
    tierId = createdTier.getId();
    System.out.println("created tier has ID: " + tierId);
getTierDetail
返回给定层标识的 Tier 对象。层类拥有 getter 方法,用来获取层标识、层名、描述(由管理员设置)以及 Limit 对象的集合,此集合指定分配到层的 UDDI 发布者可以发布的每种 UDDI 实体类型的数目。isDefault 方法表明层是否是缺省的层,即,当启用自动注册时分配到 UDDI 发布者的层。
  • 调用 getTierDetail 操作:
    Tier tier = uddiNode.getTierDetail("2");
updateTier
用提供的 Tier 对象更新层内容。
  1. 更新现有的 Tier 对象(该对象可以是新实例化的,或者由 getTierDetail 或 createTier 操作返回)。以下示例保留层名、描述以及所有限制值(但所更新的限制除外):
    modifiedTier.setName(tier.getName());
    modifiedTier.setDescription(tier.getDescription());
    
    Limit tModelLimit = new Limit();
    tModelLimit.setId(LimitConstants.TMODEL_LIMIT);
    tModelLimit.setIntegerValue(50);
    
    List updatedLimits = new ArrayList();
    updatedLimits.add(tModelLimit);
    
    modifiedTier.setLimits(updatedLimits);
  2. 调用 updateTier 操作:
    uddiNode.updateTier(modifiedTier);
getTierInfos
返回包含层标识、层名和层描述以及层是否为缺省层的轻量层描述符对象 (TierInfo) 的集合。
  1. 调用 getTierInfos 操作:
    List tierInfos = uddiNode.getTierInfos();
  2. 输出每个 TierInfo 对象的内容:
    if (tierInfos != null) {
    
       for (Iterator iter = tierInfos.iterator(); iter.hasNext();) {
          TierInfo tierInfo = (TierInfo) iter.next();
          System.out.println(tierInfo);
       }
    } 
setDefaultTier
指定给定层标识的层为缺省层。缺省层是启动自动注册时分配到 UDDI 发布者的层。通常,将此设置设为发布限制较低的层,以阻止用户偶尔发布过多的实体。
  • 调用 setDefaultTier 操作:
    uddiNode.setDefaultTier("4");
deleteTier
移除给定层标识的层。仅当层没有指定给它们的 UDDI 发布者且不是缺省层时才可移除。
  1. 调用 deleteTier 操作:
    uddiNode.deleteTier("4");
getUserCount
返回指定给指定层(由层标识指定)的 UDDI 发布者的数量。
  • 调用 getUserCount 操作:
    Integer userCount = uddiNode.getUserCount("4");
    System.out.println("users in tier 4: " + userCount.intValue());
getLimitInfos
返回表示每种 UDDI 实体类型的限制值的 Limit 对象的集合。限制用于 Tier 对象。

getLimitInfos:

返回表示每种 UDDI 实体类型的限制值的 Limit 对象的集合。限制用于 Tier 对象。
  1. 调用 getLimitInfos 操作:
    List limits = uddiNode.getLimitInfos();
  2. 输出每个 Limit 对象的标识和限制值:
    for (Iterator iter = limits.iterator(); iter.hasNext();) {
       Limit limit = (Limit) iter.next();
    
       System.out.println("limit ID: " + limit.getId() + ", limit value: " 
                          + limit.getIntegerValue());
    }

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwsu_ai_t
文件名:rwsu_ai_t.html