|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
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 ºê¶ó¿ìÀú¿¡ ÇØ´çÇÏ´Â ¼Æ÷Æ®°¡ ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù.
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)
ÁöÁ¤µÈ À§Ä¡ Á¤º¸ ¶Ç´Â ÂüÁ¶ Á¤º¸¸¦ »ç¿ëÇØ, ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÕ´Ï´Ù. |
¸Þ¼µåÀÇ »ó¼¼ |
---|
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() ¸Þ¼µå´Â ÀÌÇÏÀÇ ±ÔÄ¢¿¡ µû¸¨´Ï´Ù.
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¸¦
ÇØ°áÇÒ ¼ö ÀÖ´Â ÄÁÅØ½ºÆ®
ÀÌ µ¹·ÁÁÖ°íÁý´Ï´Ù. obj
°¡ URL ij¸¯ÅÍ ¶óÀÎÀÎ °æ¿ì, URL ¿¡
ÇØ ½Äº°µÈ ¿ÀºêÁ§Æ® (ÀϹÝÀûÀ¸·Î ÄÁÅØ½ºÆ®
)¸¦ »ý¼ºÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ±×°ÍÀÌ LDAP URL ÄÁÅØ½ºÆ®
ÆÑÅ丮ÀÌ´Ù°í ÇÕ´Ï´Ù. obj
°¡ ldap://ldap.wiz.com/o=wiz, c=us
°æ¿ì, getObjectInstance()´Â
LDAP ¼¹ö ldap.wiz.com
½Äº°¸í¿¡
ÇØ ÁöÁ¤µÈ ÄÁÅØ½ºÆ®
À» µ¹·ÁÁÝ´Ï´Ù. °è¼ÓµÇ¾î ÀÌ ÄÁÅØ½ºÆ®
À» »ç¿ëÇØ, ±× ÄÁÅØ½ºÆ®
¿¡ °ü·ÃµÈ LDAP ¸í (cn=George µî)À» ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. obj
°¡ URL ij¸¯ÅÍ ¶óÀÎÀÇ ¹è¿ÀÎ °æ¿ì, URL´Â
±×°ÍµéÀÌ ÂüÁ¶ÇÏ´Â ÄÁÅØ½ºÆ®
À̶ó°í ÇÏ´Â Á¡À¸·Î½á µ¿µîÇÏ´Ù¶ó°í °¡Á¤ÇÕ´Ï´Ù. URL °¡ µ¿µîÇѰ¡, ȤÀº µ¿µîÇÑ Çʿ䰡 Àִ°¡ ÇÏ´Â °ËÁõÀº, ÄÁÅØ½ºÆ®
ÆÑÅ丮¿¡ µû¶ó¼ ´Ù¸¨´Ï´Ù. ¹è¿ÀÇ URL
¼ø¼´Â Áß¿äÇÏÁö´Â ¾Ê½À´Ï´Ù. getObjectInstance()°¡ µ¹·ÁÁÖ´Â ¿ÀºêÁ§Æ®´Â
´ÜÀÏÀÇ URL
°æ¿ì¿Í °°½À´Ï´Ù. À̰ÍÀº, URL ¿¡
ÇØ ÁöÁ¤µÈ ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù. obj
°¡ »ó±â ÀÌ¿ÜÀÇ ÇüÅÂÀÎ °æ¿ì,getObjectInstance()
µ¿ÀÛÀº ÄÁÅØ½ºÆ®
ÆÑÅ丮 ±¸Çö¿¡
°áÁ¤µË´Ï´Ù. name ÆÄ¶ó¹ÌÅÍ ¹× environment ÆÄ¶ó¹ÌÅʹ ȣÃâÃøÀÌ ¼ÒÀ¯ÇÕ´Ï´Ù. ±¸ÇöÀº ÀÌ·¯ÇÑ ¿ÀºêÁ§Æ®¸¦ º¯°æÇÏÁö ¾Ê°í, ±× ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ ÂüÁ¶µµ º¸°ü À¯ÁöÇÕ´Ï´Ù¸¸, º¹Á¦ ¶Ç´Â Ä«ÇÇ¿¡ ´ëÇÑ ÂüÁ¶¸¦ º¸°ü À¯ÁöÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
À̸§ ÆÄ¶ó¹ÌÅÍ¿Í ÄÁÅØ½ºÆ®
ÆÄ¶ó¹ÌÅÍ
name
ÆÄ¶ó¹ÌÅÍ ¹× nameCtx
ÆÄ¶ó¹ÌÅ͸¦ ÀÓÀÇ¿¡ »ç¿ëÇØ, »ý¼ºÁßÀÇ ¿ÀºêÁ§Æ®ÀÇ À̸§À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. name
´Â
¿ÀºêÁ§Æ®ÀÇ À̸§À¸·Î ÄÁÅØ½ºÆ®
nameCtx
¿¡ °ü·ÃÇϰí ÀÖ½À´Ï´Ù. ¿ÀºêÁ§Æ®¸¦ ¸í¸íÇÒ ¼ö ÀÖ´Â ÄÁÅØ½ºÆ®
ÀÌ ´Ù¼ö ÀÖ´Â Àϵµ ÀÖ½À´Ï´Ù¸¸, ±× °æ¿ì´Â È£ÃâÇØ ¿·ÀÌ ¼±ÅÃÇÕ´Ï´Ù. ´ë¹üÇÑ ÁöħÀ¸·Î¼ »ç¿ë °¡´ÉÇÑ ¡¸°¡Àå ±í´Ù¡¹ÄÁÅØ½ºÆ®
À» ¼±ÅÃÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. nameCtx
°¡ null
°æ¿ì,name
´Â
µðÆúÆ®ÀÇ Ãʱâ ÄÁÅØ½ºÆ®
¿¡ °ü·ÃÇϰí ÀÖ½À´Ï´Ù. À̸§À» ÁöÁ¤ÇÏÁö ¾Ê´Â °æ¿ì´Â name
ÆÄ¶ó¹ÌÅͰ¡ null °¡ µÇµµ·Ï ÇÕ´Ï´Ù. ÆÑÅ丮°¡ nameCtx
¸¦
»ç¿ëÇÏ´Â °æ¿ì´Â
º´Çà ¾×¼¼½º¿¡ ´ëºñÇØ ±× »ç¿ëÀ» µ¿±âÈÇϵµ·Ï ÇÕ´Ï´Ù. ÄÁÅØ½ºÆ®
±¸ÇöÀº thread ¼¼ÀÌÇÁÀÎ °ÍÀ» º¸ÁõµÇ¾î ÀÖÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.
obj
- ¿ÀºêÁ§Æ®ÀÇ »ý¼º¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â À§Ä¡ Á¤º¸ ¶Ç´Â ÂüÁ¶ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â
null
°¡´É¼ºÀÌ ÀÖ´Â ¿ÀºêÁ§Æ®name
- nameCtx
¿¡ °ü·ÃµÈ ÀÌ ¿ÀºêÁ§Æ®ÀÇ À̸§, ¶Ç´Â À̸§ÀÌ ÁöÁ¤µÇÁö ¾Ê´Â °æ¿ì´Â nullnameCtx
- name
ÆÄ¶ó¹ÌÅÍÀÇ ÁöÁ¤¿¡ °ü·ÃµÈ ÄÁÅØ½ºÆ®
, ¶Ç´Â name
°¡ µðÆúÆ®ÀÇ Ãʱâ ÄÁÅØ½ºÆ®
¿¡ °ü·ÃµÈ °æ¿ì´Â nullenvironment
- 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 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.