JavaTM 2 Platform
Standard Ed. 5.0

ÆÐÅ°Áö javax.management.relation

°ü°è ¼­ºñ½º¿¡ ´ëÇØ Á¤ÀÇÇÕ´Ï´Ù.

ÂüÁ¶Ã³:
          ¼³¸í

ÀÎÅÍÆäÀ̽º °³¿ä
Relation °ü°è ¼­ºñ½º¿¡ ÀÇÇØ °ü¸®µÇ´Â °ü°è¸¦ ³ªÅ¸³»´Â MBean Ŭ·¡½º´Â ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
RelationServiceMBean °ü°è ¼­ºñ½º¿¡´Â °ü°èÇü°ú °ü°èÀÇ ÀÛ¼º ¹× »èÁ¦, Á¤ÇÕ¼ºÀÇ Ã³¸® ¹× Äõ¸®µµ±¸ ÀÇ Á¦°øÀÇ ±â´ÉÀÌ ÀÖ½À´Ï´Ù.
RelationSupportMBean °ü°è ¼­ºñ½º´Â RelationSupport °´Ã¼¸¦ ³»ºÎ¿¡¼­ »ç¿ëÇØ, ·Ñ¼ö¿¡ Á¦ÇÑÀÌ ¾ø´Â ÀÓÀÇÀÇ °ü°èÇüÀÇ ´Ü¼øÇÑ °ü°è (·Ñ¸¸À¸·Î ÇÁ·ÎÆÛƼ³ª ¸Þ¼­µå¸¦ °¡ÁöÁö ¾Ê´Â °ü°è)¸¦ Ç¥ÇöÇÕ´Ï´Ù.
RelationType °ü°èÇüÀ» Ç¥ÇöÇÏ´Â ¸ðµç Ŭ·¡½º°¡ RelationType ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.
 

Ŭ·¡½º °³¿ä
MBeanServerNotificationFilter MBeanServerNotification ÇÊÅÍÀÔ´Ï´Ù.
RelationNotification °ü°è ¼­ºñ½º³»ÀÇ º¯°æÀÇ ÅëÁöÀÔ´Ï´Ù.
RelationService °ü°è ¼­ºñ½º¿¡´Â °ü°èÇü°ú °ü°èÀÇ ÀÛ¼º ¹× »èÁ¦, Á¤ÇÕ¼ºÀÇ Ã³¸® ¹× Äõ¸®µµ±¸ ÀÇ Á¦°øÀÇ ±â´ÉÀÌ ÀÖ½À´Ï´Ù.
RelationSupport °ü°è ¼­ºñ½º´Â RelationSupport °´Ã¼¸¦ ³»ºÎ¿¡¼­ »ç¿ëÇØ, ·Ñ¼ö¿¡ Á¦ÇÑÀÌ ¾ø´Â ÀÓÀÇÀÇ °ü°èÇüÀÇ ´Ü¼øÇÑ °ü°è (·Ñ¸¸À¸·Î ÇÁ·ÎÆÛƼ³ª ¸Þ¼­µå¸¦ °¡ÁöÁö ¾Ê´Â °ü°è)¸¦ Ç¥ÇöÇÕ´Ï´Ù.
RelationTypeSupport RelationTypeSupport °´Ã¼´Â RelationType ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù.
Role ·Ñ¸í, ObjectName ·Î ÂüÁ¶µÇ´Â MBean¸¦ Æ÷ÇÔÇØ, ·ÑÀ» Ç¥ÇöÇÕ´Ï´Ù.
RoleInfo RoleInfo °´Ã¼´Â °ü°èÇü¿¡ Æ÷ÇԵǴ ·ÑÀ» Áý°èÇÕ´Ï´Ù.
RoleList RoleList´Â ·Ñ (Role °´Ã¼)ÀÇ ¸®½ºÆ®¸¦ ³ªÅ¸³À´Ï´Ù.
RoleResult °ü°èÀÇ º¹¼öÀÇ ·Ñ¿¡ÀÇ º¹¼öÀÇ ¾×¼¼½º (Àо ¶Ç´Â ¾²±â ±ÇÇÑ)ÀÇ °á°ú¸¦ Ç¥ÇöÇÕ´Ï´Ù.
RoleStatus ÀÌ Å¬·¡½º´Â ·ÑÀÇ ¾×¼¼½º½Ã¿¡ ¹ß»ýÇÒ °¡´É¼ºÀÌ ÀÖ´Â ´Ù¾çÇÑ ¹®Á¦¸¦ ¼³¸íÇÕ´Ï´Ù.
RoleUnresolved ¹ÌÇØ°áÀÇ ·Ñ (¹®Á¦ÀÇ ¹ß»ý¿¡ÀÇÇØ °ü°è·ÎºÎÅÍ ÃëµæÇÒ ¼ö ¾ø¾ú´ø ·Ñ)À» Ç¥ÇöÇÕ´Ï´Ù.
RoleUnresolvedList RoleUnresolvedList´Â RoleUnresolved °´Ã¼ÀÇ ¸®½ºÆ®¸¦ Ç¥ÇöÇÕ´Ï´Ù.
 

¿¹¿Ü °³¿ä
InvalidRelationIdException ÀÌ ¿¹¿Ü´Â °ü°è¿¡ ´ëÇؼ­ ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ´Â °ü°è ID°¡ Á¦°øµÇ¾úÀ» °æ¿ì¿¡ ¹ßÇàµË´Ï´Ù.
InvalidRelationServiceException ÀÌ ¿¹¿Ü´Â Á¦°øµÈ °ü°è ¼­ºñ½º°¡ ¹«È¿ÀÎ °æ¿ì¿¡ ¹ßÇàµË´Ï´Ù.
InvalidRelationTypeException °ü°èÇüÀÌ ¹«È¿ÀÔ´Ï´Ù.
InvalidRoleInfoException ÀÌ ¿¹¿Ü´Â ·Ñ Á¤º¸¿¡ ´ëÇØ, ÃÖ¼Ò°ªÀÌ ÃÖ´ë°ª º¸´Ù Å« °æ¿ì¿¡ ¹ßÇàµË´Ï´Ù.
InvalidRoleValueException ·Ñ°ªÀÌ ¹«È¿ÀÔ´Ï´Ù.
RelationException ÀÌ Å¬·¡½º´Â °ü°èÀÇ °ü¸®Áß¿¡ ¹ßÇàµÇ´Â ¿¹¿ÜÀÇ ½´ÆÛ Å¬·¡½ºÀÔ´Ï´Ù.
RelationNotFoundException ÀÌ ¿¹¿Ü´Â °ü°è ¼­ºñ½º³»¿¡ ÁöÁ¤µÈ °ü°è ID ·Î ³ªÅ¸³»Áö´Â °ü°è°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì¿¡ ¹ßÇàµË´Ï´Ù.
RelationServiceNotRegisteredException ÀÌ ¿¹¿Ü´Â °ü°è ¼­ºñ½º¿¡ÀÇ ¾×¼¼½º°¡ µî·ÏµÇÁö ¾ÊÀº °æ¿ì¿¡ ¹ßÇàµË´Ï´Ù.
RelationTypeNotFoundException ÀÌ ¿¹¿Ü´Â °ü°è ¼­ºñ½º³»¿¡ ÁöÁ¤µÈ À̸§ÀÇ °ü°èÇüÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì¿¡ ¹ßÇàµË´Ï´Ù.
RoleInfoNotFoundException ÀÌ ¿¹¿Ü´Â ÁöÁ¤µÈ °ü·ÃÇüÀ¸·Î ÁöÁ¤µÈ À̸§ÀÇ ·Ñ Á¤º¸°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì¿¡ ¹ßÇàµË´Ï´Ù.
RoleNotFoundException ÀÌ ¿¹¿Ü´Â °ü°è¿¡ Æ÷ÇԵǴ ·ÑÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì, Á¸ÀçÇß´Ù°í Çصµ µ¶ÇØ ºÒ°¡´ÉÇÑ °æ¿ì, ¶Ç´Â ¼³Á¤ ºÒ°¡´ÉÇÑ °æ¿ì¿¡ ¹ßÇàµË´Ï´Ù.
 

ÆÐÅ°Áö javax.management.relation ¼³¸í

°ü°è ¼­ºñ½º¿¡ ´ëÇØ Á¤ÀÇÇÕ´Ï´Ù. °ü°è ¼­ºñ½º´Â MBean ¼­¹ö³»ÀÇ MBean °£ÀÇ °ü°è¸¦ ±â·ÏÇϱâ À§Çؼ­ »ç¿ëµË´Ï´Ù. °ü°è ¼­ºñ½º ±× ÀÚü°¡ MBean ÀÔ´Ï´Ù. 1 ´ëÀÇ MBean ¼­¹ö¿¡ º¹¼ö RelationService MBean¸¦ µî·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù.

¡¸°ü°èÇü¡¹Àº MBean °£ÀÇ °ü°è¸¦ Á¤ÀÇÇÕ´Ï´Ù. ±× °ü°è¿¡ ´ëÇØ MBean°¡ ´ã´çÇÏ´Â ¡¸·Ñ¡¹À» Æ÷ÇÔÇÕ´Ï´Ù. º¸Åë, 1°³ÀÇ °ü°èÇü¿¡ 2°³ ÀÌ»óÀÇ ·ÑÀÌ Æ÷ÇԵ˴ϴÙ.

¡¸°ü°è¡¹´Â ÁöÁ¤µÈ °ü°èÇüÀÇ ÀνºÅϽºÀÔ´Ï´Ù. °ü°èÇü¿¡ ´ëÇØ, ·Ñ³»ÀÇ Æ¯Á¤ÀÇ MBean´Â ObjectName ¿¡ ÀÇÇØ ³ªÅ¸³»Áý´Ï´Ù.

¿¹¸¦ µé¾î ¾îÇø®ÄÉÀÌ¼Ç A¿¡ Æ÷ÇԵǴ ¸ðµâÀ» ³ªÅ¸³»´Â Module MBean°¡ ÀÖ´Ù°í ÇÕ´Ï´Ù. DependsOn °ü°èÇüÀº ±× ¿ÜÀÇ ¸ðµâ¿¡ ÀÇÁ¸µÈ ¸ðµâÀÇ °ü°è¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù . ÀÌ ¶§¹®¿¡ ¸ðµâÀÇ °³½Ã ¶Ç´Â Á¤Áö¼ø¼­ÀÇ °áÁ¤¿¡ »ç¿ëµË´Ï´Ù. DependsOn °ü°èÇüÀº, dependent¿Í dependedOn 2°³ÀÇ ·ÑÀ» °¡Áý´Ï´Ù.

°¢ ·ÑÀº ¡¸ÇüÁö¸¦ ¹«´Ì¸¦ ¹Ú¾Æ¼­ ¿°»öÇÑ °Í¡¹µÇ°í ÀÖ½À´Ï´Ù. Áï, ¾î´À ·Ñ³»ÀÇ MBean´Â ±× ·ÑÀÇ ÇüÅÂÀÇ ÀνºÅϽº°¡ µË´Ï´Ù. DependsOn ¿¹¿¡¼­´Â ¾î´À ÂÊÀÇ ·Ñµµ Module ÇüÀÌ µË´Ï´Ù.

¸ðµç ·ÑÀÌ ¡¸Ä«µð³ª¸®Æ¼¡¹¸¦ °¡Áý´Ï´Ù. Ä«µð³ª¸®Æ¼¿¡ÀÇÇØ ÁöÁ¤µÈ °ü°è ÀνºÅϽº¿¡ Æ÷ÇԵǴ ƯÁ¤ÀÇ ·Ñ³»ÀÇ MBean ¼ö¿¡ »óÇÑÄ¡¿Í ÇÏÇÑ°ªÀÌ ¼³Á¤µË´Ï´Ù. ÀϹÝÀûÀ¸·Î »óÇÑÄ¡, ÇÏÇÑÄ¡ ¸ðµÎ 1 À¸·Î ·Ñ³»ÀÇ MBean ¼ö´Â 1 ÀÔ´Ï´Ù. Ä«µð³ª¸®Æ¼´Â °ü°è ÀνºÅϽº ¸¶´Ù ·Ñ³»ÀÇ MBean ¼ö¸¦ Á¦ÇÑÇÒ »ÓÀÔ´Ï´Ù. °ü°èÇüÀÇ ÀνºÅϽº¼ö¿¡ °ü°è¾øÀÌ, °°Àº ·Ñ³»¿¡´Â °°Àº MBean¸¦ Á¸ÀçÇÒ ¼ö ÀÖ½À´Ï´Ù. DependsOn ¿¹¿¡¼­´Â ¾î´À ¸ðµâÀ» Á¸ÇÒ ¼ö ÀÖ´Â ±× ¿ÜÀÇ ¸ðµâ¼ö¿¡ Á¦ÇÑÀº ¾ø½À´Ï´Ù. ±×·¯³ª, °ü°è ÀνºÅϽº´Â Ç×»ó ´ÜÀÏÀÇ dependent ¸ðµâ°ú ´ÜÀÏÀÇ dependedOn ¸ðµâÀ» ¸µÅ©ÇÕ´Ï´Ù.

°ü°èÇüÀº, RelationType ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â °´Ã¼ (º¸Åë RelationTypeSupport )·Î¼­ ¸í½ÃÀûÀ¸·Î ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. °ü°è ¼­ºñ½ºÀÇ createRelationType ¸Þ¼­µå¸¦ »ç¿ëÇØ, ¾Ï¹¬ÀûÀ¸·Î ÀÛ¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

°ü°è ÀνºÅϽº´Â Relation ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â °´Ã¼ (º¸Åë RelationSupport )·Î¼­ ¸í½ÃÀûÀ¸·Î ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. RelationSupport ÀÚü°¡ À¯È¿ÇÑ MBean À̹ǷΠ¿É¼ÇÀ¸·Î¼­ MBean ¼­¹ö¿¡ µî·Ï °¡´ÉÇÕ´Ï´Ù. ÇÑÆí, °ü°è ÀνºÅϽº¸¦ ¾Ï¹¬ÀûÀ¸·Î ÀÛ¼ºÇÏ·Á¸é, °ü°è ¼­ºñ½ºÀÇ createRelation ¸Þ¼­µå¸¦ »ç¿ëÇÕ´Ï´Ù.

DependsOn ¿¹´Â ´ÙÀ½°ú °°ÀÌ ÄÚµåÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù.

import java.util. *;import javax.management. *;import javax.management.relation. *;
// ...MBeanServer mbs = ...;
// Create the Relation Service MBeanObjectName relSvcName = new ObjectName(":type=RelationService") ;RelationService relSvcObject = new RelationService(true) ;mbs.registerMBean(relSvcObject, relSvcName);
// Create an MBean proxy for easier access to the Relation ServiceRelationServiceMBean relSvc = (RelationServiceMBean) MBeanServerInvocationHandler.newProxyInstance(mbs, relSvcName,                                             RelationServiceMBean.class,                                             false);
// Define the DependsOn relation typeRoleInfo[] 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 onMap dependentAMap = relSvc.findAssociatedMBeans(moduleA, "DependsOn", "dependent") ;Set dependentASet = dependentAMap.keySet();// Set of ObjectName containing moduleB

ÆÐÅ°ÁöÀÇ »ç¾ç

µµÀÔµÈ ¹öÀü :
1.5

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.