JavaTM 2 Platform
Standard Ed. 5.0

javax.naming.spi
ÀÎÅÍÆäÀ̽º ObjectFactory

¾Ë·ÁÁø ¼­ºê ÀÎÅÍÆäÀ̽º ¸ñ·Ï :
DirObjectFactory

public interface ObjectFactory

ÀÌ ÀÎÅÍÆäÀ̽º´Â °´Ã¼¸¦ »ý¼ºÇÏ´Â ÆÑÅ丮¸¦ ³ªÅ¸³À´Ï´Ù.

JNDI üÁ¦¿¡¼­´Â ¡¸°´Ã¼ ÆÑÅ丮¡¹¸¦ »ç¿ëÇØ °´Ã¼ ±¸ÇöÀ» µ¿ÀûÀ¸·Î ·ÎµåÇÏ´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù. ¿¹¸¦ µé¾î À̸§ °ø°£¿¡ ¹ÙÀÎµå µÈ ÇÁ¸°Å͸¦ °Ë»öÇÏ´Â °æ¿ì, Àμ⠼­ºñ½º°¡ ÇÁ¸°Å͸íÀ» Reference¿¡ ¹ÙÀεå Çϸé, ÇÁ¸°ÅÍ Reference¸¦ »ç¿ëÇØ ÇÁ¸°ÅÍ °´Ã¼¸¦ »ý¼ºÇØ, ·è ¾÷ÀÇ È£ÃâÃøÀÌ ·è ¾÷ ÈÄ Á÷Á¢ ÇÁ¸°ÅÍ °´Ã¼·Î Á¶ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.

ObjectFactory´Â ƯÁ¤ÀÇ Å¸ÀÔÀÇ °´Ã¼ÀÇ »ý¼ºÀ» ½Ç½ÃÇÕ´Ï´Ù. »ó±âÀÇ ¿¹¿¡¼­´Â Printer °´Ã¼ÀÇ »ý¼º¿¡ PrinterObjectFactory¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

°´Ã¼ ÆÑÅ丮´Â ObjectFactory ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ¶Ç ÆÑÅ丮 Ŭ·¡½º´Â public ÀÎ °ÍÀÌ ÇÊ¿äÇØ, ÇÑÆí ÆĶó¹ÌÅ͸¦ ÀâÈ÷Áö ¾Ê´Â public »ý¼ºÀÚ¸¦ °¡Áú ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

°´Ã¼ ÆÑÅ丮ÀÇ getObjectInstance() ¸Þ¼­µå´Â ´Ù¸¥ ÆĶó¹ÌÅ͸¦ »ç¿ëÇØ ¿©·¯ Â÷·Ê È£ÃâµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ±¸ÇöÀº thread ¼¼ÀÌÇÁÀÔ´Ï´Ù.

ÀÌ Å¬·¡½ºÀÇ ¹®¼­ÀÇ URL ±âÀç´Â RFC 1738 ¹× ±× °ü·Ã RFC ·Î Á¤Àǵǰí ÀÖ´Â URL ij¸¯ÅÍ ¶óÀÎÀ» Àû¿ëÇÏ°í ÀÖ½À´Ï´Ù. ¹®¼­ÀÇ URL´Â RFC 1738 µîÀ¸·Î Áø¼úµÇ°í ÀÖ´Â ±¸¹®¿¡ µû¸£´Â ij¸¯ÅÍ ¶óÀÎÀ̸ç, ¹Ýµå½Ã java.net.URL Ŭ·¡½º ¶Ç´Â Web ºê¶ó¿ìÀú¿¡ ÇØ´çÇÏ´Â Áö¿ø°¡ ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù.

µµÀÔµÈ ¹öÀü :
1.3
°ü·Ã Ç׸ñ:
NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable), NamingManager.getURLContext(java.lang.String, java.util.Hashtable), ObjectFactoryBuilder, StateFactory

¸Þ¼­µå °³¿ä
 Object getObjectInstance (Object  obj, Name  name, Context  nameCtx, Hashtable <?,?> environment)
          ÁöÁ¤µÈ À§Ä¡ Á¤º¸ ¶Ç´Â ÂüÁ¶ Á¤º¸¸¦ »ç¿ëÇØ, °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù.
 

¸Þ¼­µåÀÇ »ó¼¼

getObjectInstance

Object  getObjectInstance(Object  obj,
                         Name  name,
                         Context  nameCtx,
                         Hashtable <?,?> environment)
                         throws Exception 
ÁöÁ¤µÈ À§Ä¡ Á¤º¸ ¶Ç´Â ÂüÁ¶ Á¤º¸¸¦ »ç¿ëÇØ, °´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù.

ÀÌ °´Ã¼ÀÇ Æ¯¼ö ¿ä°ÇÀº, environment¸¦ »ç¿ëÇØ ÁöÁ¤µË´Ï´Ù. ÀÌ·¯ÇÑ È¯°æ ÇÁ·ÎÆÛƼÀÇ ÀϷʷμ­´Â »ç¿ëÀÚ ½Äº° Á¤º¸°¡ ÀÖ½À´Ï´Ù.

NamingManager.getObjectInstance()´Â °´Ã¼ ÆÑÅ丮¿¡ ¿¬¼ÓÀûÀ¸·Î ·ÎµåÇØ, 1°³ÀÌ null ÀÌ¿ÜÀÇ ´ë´äÀ» »ý¼ºÇÒ ¶§±îÁö °´Ã¼ ÆÑÅ丮»ó¿¡¼­ ÀÌ ¸Þ¼­µå¸¦ °è¼Ó È£ÃâÇÕ´Ï´Ù. °´Ã¼ ÆÑÅ丮°¡ ¿¹¿Ü¸¦ Throw Çϸé, ±× ¿¹¿Ü´Â NamingManager.getObjectInstance() È£Ãâ Ãø¿¡ ÀεµÇØÁ® null ÀÌ¿ÜÀÇ ´ë´äÀ» »ý¼ºÇÒ °¡´É¼ºÀÌ ÀÖ´Â ´Ù¸¥ ÆÑÅ丮ÀÇ °Ë»öÀº ÇàÇØÁöÁö ¾Ê½À´Ï´Ù. °´Ã¼ ÆÑÅ丮´Â ±×°ÍÀÌ ¸ñÀûÀÇ À¯ÀÏÇÑ ÆÑÅ丮À̸ç, ´Ù¸¥ °´Ã¼ ÆÑÅ丮¸¦ °Ë»öÇÒ ÇÊ¿ä°¡ ¾ø´Â °ÍÀÌ È®½ÇÇÑ °æ¿ì¿¡ ÇÑÁ¤ÇØ, ¿¹¿Ü¸¦ Throw Çϵµ·Ï ÇÕ´Ï´Ù. ÀÌ ÆÑÅ丮°¡ ÁöÁ¤µÈ Àμö·Î °´Ã¼¸¦ »ý¼ºÇÒ ¼ö ¾ø´Â °æ¿ì´Â nullÀ» ¸®ÅÏÇÕ´Ï´Ù.

¡¸URL ÄÁÅؽºÆ® ÆÑÅ丮¡¹´Â Ư¼öÇÑ ObjectFactory ·Î URL ¶Ç´Â URL°¡ À§Ä¡¸¦ ÁöÁ¤ÇÏ´Â °´Ã¼¸¦ ÇØ°áÇÏ´Â ÄÁÅؽºÆ®¸¦ »ý¼ºÇÕ´Ï´Ù. URL ÄÁÅؽºÆ® ÆÑÅ丮ÀÇ getObjectInstance() ¸Þ¼­µå´Â ¾Æ·¡ÀÇ ±ÔÄ¢¿¡ µû¸¨´Ï´Ù.

  1. obj°¡ nullÀÎ °æ¿ì, ÀÌ ÆÑÅ丮¿¡ °ü·ÃÇÑ schemaÀÇ URL¸¦ ÇØ°áÇÏ´Â ÄÁÅؽºÆ®¸¦ »ý¼ºÇÕ´Ï´Ù. ±× ÄÁÅؽºÆ®Àº ƯÁ¤ÀÇ URL¿Í´Â ¿¬°á½Ãų ¼ö ¾ø½À´Ï´Ù. ÀÌ ÄÁÅؽºÆ®Àº ÀÌ ÆÑÅ丮ÀÇ schema ID¸¦ »ç¿ëÇØ ÀÓÀÇÀÇ URL¸¦ ó¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î LDAP URL ÄÁÅؽºÆ® ÆÑÅ丮·Î null ·Î ¼³Á¤µÈ obj¸¦ °¡Áö´Â getObjectInstance()¸¦ È£ÃâÇϸé, ldap://ldap.wiz.com/o=wiz, c=us, ldap://ldap.umich.edu/o=umich, c=us µîÀÇ LDAP URL¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â ÄÁÅؽºÆ®ÀÌ ¸®Åϵ˴ϴ٠.
  2. obj°¡ URL ij¸¯ÅÍ ¶óÀÎÀÎ °æ¿ì, URL¿¡ ÀÇÇØ ½Äº°µÈ °´Ã¼ (ÀϹÝÀûÀ¸·Î ÄÁÅؽºÆ®)¸¦ »ý¼ºÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ±×°ÍÀÌ LDAP URL ÄÁÅؽºÆ® ÆÑÅ丮ÀÌ´Ù°í ÇÕ´Ï´Ù. obj°¡ ldap://ldap.wiz.com/o=wiz, c=usÀÎ °æ¿ì, getObjectInstance()´Â LDAP ¼­¹ö ldap.wiz.com ½Äº°¸í¿¡ ÀÇÇØ ÁöÁ¤µÈ ÄÁÅؽºÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. °è¼ÓµÇ¾î ÀÌ ÄÁÅؽºÆ®¸¦ »ç¿ëÇØ, ±× ÄÁÅؽºÆ®¿¡ °ü·ÃµÈ LDAP ¸í (cn=George µî)À» ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù.
  3. obj°¡ URL ij¸¯ÅÍ ¶óÀÎÀÇ ¹è¿­ÀÎ °æ¿ì, URL´Â ±×°ÍµéÀÌ ÂüÁ¶ÇÏ´Â ÄÁÅؽºÆ®À̶ó°í ÇÏ´Â Á¡À¸·Î½á µ¿µîÇÏ´Ù¶ó°í °¡Á¤ÇÕ´Ï´Ù. URL°¡ µ¿µîÇÑ°¡ ȤÀº µ¿µîÇÑ ÇÊ¿ä°¡ Àִ°¡ ÇÏ´Â °ËÁõÀº ÄÁÅؽºÆ® ÆÑÅ丮¿¡ µû¶ó¼­ ´Ù¸¨´Ï´Ù. ¹è¿­ÀÇ URL ¼ø¼­´Â Áß¿äÇÏÁö´Â ¾Ê½À´Ï´Ù. getObjectInstance()°¡ µ¹·ÁÁÖ´Â °´Ã¼´Â ´ÜÀÏÀÇ URLÀÎ °æ¿ì¿Í °°½À´Ï´Ù. ÀÌ°ÍÀº URL¿¡ ÀÇÇØ ÁöÁ¤µÈ °´Ã¼ÀÔ´Ï´Ù.
  4. obj°¡ »ó±â ÀÌ¿ÜÀÇ ÇüÅÂÀÎ °æ¿ì, getObjectInstance() µ¿ÀÛÀº ÄÁÅؽºÆ® ÆÑÅ丮 ±¸Çö¿¡ °áÁ¤µË´Ï´Ù.

name ÆĶó¹ÌÅÍ ¹× environment ÆĶó¹ÌÅʹ ȣÃâÃøÀÌ ¼ÒÀ¯ÇÕ´Ï´Ù. ±¸ÇöÀº ÀÌ·¯ÇÑ °´Ã¼¸¦ º¯°æÇÏÁö ¾Ê°í, ±× °´Ã¼¿¡ ´ëÇÑ ÂüÁ¶µµ º¸°ü À¯ÁöÇÕ´Ï´Ù¸¸, º¹Á¦ ¶Ç´Â Ä«ÇÇ¿¡ ´ëÇÑ ÂüÁ¶¸¦ º¸°ü À¯ÁöÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

À̸§ ÆĶó¹ÌÅÍ¿Í ÄÁÅؽºÆ® ÆĶó¹ÌÅÍ     name ÆĶó¹ÌÅÍ ¹× nameCtx ÆĶó¹ÌÅ͸¦ ÀÓÀÇ¿¡ »ç¿ëÇØ, »ý¼ºÁßÀÇ °´Ã¼ÀÇ À̸§À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. name´Â °´Ã¼ÀÇ À̸§À¸·Î ÄÁÅؽºÆ® nameCtx¿¡ °ü·ÃÇÏ°í ÀÖ½À´Ï´Ù. °´Ã¼¸¦ ¸í¸íÇÒ ¼ö ÀÖ´Â ÄÁÅؽºÆ®ÀÌ ´Ù¼ö ÀÖ´Â Àϵµ ÀÖ½À´Ï´Ù¸¸, ±× °æ¿ì´Â È£ÃâÇØ ¿·ÀÌ ¼±ÅÃÇÕ´Ï´Ù. ´ë¹üÇÑ ÁöħÀ¸·Î¼­ »ç¿ë °¡´ÉÇÑ ¡¸°¡Àå ±í´Ù¡¹ÄÁÅؽºÆ®¸¦ ¼±ÅÃÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. nameCtx°¡ nullÀÎ °æ¿ì, name´Â µðÆúÆ®ÀÇ Ãʱâ ÄÁÅؽºÆ®¿¡ °ü·ÃÇÏ°í ÀÖ½À´Ï´Ù. À̸§À» ÁöÁ¤ÇÏÁö ¾Ê´Â °æ¿ì´Â name ÆĶó¹ÌÅÍ°¡ nullÀÌ µÇµµ·Ï ÇÕ´Ï´Ù. ÆÑÅ丮°¡ nameCtx¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â º´Çà ¾×¼¼½º¿¡ ´ëºñÇØ ±× »ç¿ëÀ» µ¿±âÈ­Çϵµ·Ï ÇÕ´Ï´Ù. ÄÁÅؽºÆ® ±¸ÇöÀº thread ¼¼ÀÌÇÁÀÎ °ÍÀ» º¸ÁõµÇ¾î ÀÖÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.

ÆĶó¹ÌÅÍ:
obj - °´Ã¼ÀÇ »ý¼º¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â À§Ä¡ Á¤º¸ ¶Ç´Â ÂüÁ¶ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â null °¡´É¼ºÀÌ ÀÖ´Â °´Ã¼
name - nameCtx¿¡ °ü·ÃµÈ ÀÌ °´Ã¼ÀÇ À̸§, ¶Ç´Â À̸§ÀÌ ÁöÁ¤µÇÁö ¾Ê´Â °æ¿ì´Â null
nameCtx - name ÆĶó¹ÌÅÍÀÇ ÁöÁ¤¿¡ °ü·ÃµÈ ÄÁÅؽºÆ®, ¶Ç´Â name°¡ µðÆúÆ®ÀÇ Ãʱâ ÄÁÅؽºÆ®¿¡ °ü·ÃµÈ °æ¿ì´Â null
environment - null °¡´É¼ºÀÌ ÀÖ´Â °´Ã¼ÀÇ »ý¼º¿¡ »ç¿ëµÇ´Â ȯ°æ
¹Ýȯ°ª:
»ý¼ºµÈ °´Ã¼. °´Ã¼¸¦ »ý¼ºÇÒ ¼ö ¾ø´Â °æ¿ì´Â null
¿¹¿Ü:
Exception - °´Ã¼ÀÇ »ý¼ºÁß¿¡ ÀÌ °´Ã¼ ÆÑÅ丮°¡ ¿¹¿Ü¸¦ °ËÃâÇØ, ´Ù¸¥ °´Ã¼ ÆÑÅ丮°¡ ½ÃÇàµÇÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable), NamingManager.getURLContext(java.lang.String, java.util.Hashtable)

JavaTM 2 Platform
Standard Ed. 5.0

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