分享
 
 
 

javax.management.relation

王朝百科·作者佚名  2010-02-16
窄屏简体版  字體: |||超大  

软件包 javax.management.relation 的描述

提供 Relation Service 的定义。Relation Service 用于记录 MBean Server 中各个 MBean 之间的关系。Relation Service 本身就是一个 MBean。在一个 MBean Server 中可以注册多个 RelationService MBean 的实例。

关系类型 定义各个 MBean 之间的关系。它包含各个 MBean 在关系中充当的角色。通常,在一个关系类型中至少有两个角色。

关系 是关系类型的命名实例,其中具体的 MBean 将出现在由其 ObjectName 表示的角色中。

例如,假定存在 Module MBean,其表示应用程序内的模块。DependsOn 关系类型可以表达一些模块依赖于其他模块(这些模块可以用于定义模块开始和停止的顺序)的关系。DependsOn 关系类型应有两个角色,dependent 和 dependedOn。

每个角色都经过了类型化,意味着在该角色中出现的 MBean 必须是该角色类型的实例。在 DependsOn 示例中,两个角色都属于类型 Module。

每个角色都有一个容量,它在给定关系实例的这一角色中出现的 MBean 数提供上下边界。通常,上下边界都是 1,这样可保证在此角色中只出现一个 MBean。该容量只限制每个关系实例的角色中的 MBean 数。同一个 MBean 可以在任意数量的关系类型实例中的同一个角色中出现。在 DependsOn 示例中,给定模块可能依赖于许多其他模块,也可以被许多其他模块所依赖,但是任何给定关系实例都只能将一个 dependent 模块与唯一对应的那个 dependedOn 模块连接。

关系类型可以作为实现 RelationType 接口的对象显式地创建,此对象通常为 RelationTypeSupport。或者,它可以使用 Relation Service 的 createRelationType 方法隐式地创建。

关系类型可以作为实现 Relation 接口的对象显式地创建,此对象通常是为 RelationSupport。(RelationSupport 本身是一个有效的 MBean,因此它可以在 MBean Server 中注册,但不要求这样做。)或者,关系类型可以使用 Relation Service 的 createRelation 方法隐式地创建。

DependsOn 示例可以按以下方式编码。

import java.util.*;

import javax.management.*;

import javax.management.relation.*;

// ...

MBeanServer mbs = ...;

// Create the Relation Service MBean

ObjectName relSvcName = new ObjectName(":type=RelationService");

RelationService relSvcObject = new RelationService(true);

mbs.registerMBean(relSvcObject, relSvcName);

// Create an MBean proxy for easier access to the Relation Service

RelationServiceMBean relSvc = (RelationServiceMBean)

MBeanServerInvocationHandler.newProxyInstance(mbs, relSvcName,

RelationServiceMBean.class,

false);

// Define the DependsOn relation type

RoleInfo[] dependsOnRoles = {

new RoleInfo("dependent", Module.class.getName()),

new RoleInfo("dependedOn", Module.class.getName())

};

relSvc.createRelationType("DependsOn", dependsOnRoles);

// Now define a relation instance "moduleA DependsOn moduleB"

ObjectName moduleA = new ObjectName(":type=Module,name=A");

ObjectName moduleB = new ObjectName(":type=Module,name=B");

Role dependent = new Role("dependent", Collections.singletonList(moduleA));

Role dependedOn = new Role("dependedOn", Collections.singletonList(moduleB));

Role[] roleArray = {dependent, dependedOn};

RoleList roles = new RoleList(Arrays.asList(roleArray));

relSvc.createRelation("A-DependsOn-B", "DependsOn", roles);

// Query the Relation Service to find what modules moduleA depends on

Map dependentAMap = relSvc.findAssociatedMBeans(moduleA, "DependsOn", "dependent");

Set dependentASet = dependentAMap.keySet();

// Set of ObjectName containing moduleB

包规范

Specification of the JMX API, version 1.2 (Chapter 11, Relation Service)

从以下版本开始:

1.5

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有