|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀüÀÇ ÆÐŰÁö ´ÙÀ½ÀÇ ÆÐŰÁö | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ |
ÂüÁ¶Ã³:
¼³¸í
ÀÎÅÍÆäÀ̽º °³¿ä | |
---|---|
SyncResolver | ¾îÇø®ÄÉÀ̼ÇÀÌ, ¼öµ¿ÀÇ Áö°áÁ¤ Æ®¸®¸¦ »ç¿ëÇØ µ¿±â °æÇÕÀÌ ¹ß»ýÇßÀ» ¶§ÀÇ ´ëó ¹æ¹ýÀ» °áÁ¤ÇÒ ¼ö ÀÖµµ·Ï Çϴ üÁ¦¸¦ Á¤ÀÇÇÕ´Ï´Ù. |
TransactionalWriter | º¸´Ù Á¤¹ÐÇÑ Æ®·£Àè¼Ç(transaction) Á¦¾î¸¦ ÇÒ ¼ö ÀÖµµ·Ï, Ç¥ÁØ SyncProvider Ãß»ó Ŭ·¡½ºÀÇ È®ÀåÀ» ÃËÁøÇϴ Ưº°ÇÑ ÀÎÅÍ
ÆäÀ̽ºÀÔ´Ï´Ù. |
XmlReader | SyncProvider Ãß»ó Ŭ·¡½ºÀÇ È®ÀåÀ» ÃËÁøÇÏ´Â XML ÁöÇâÀÇ µ¿±â Á¦°øÀÚ¿ëÀÇ Æ¯º°ÇÑ ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. |
XmlWriter | SyncProvider Ãß»ó Ŭ·¡½ºÀÇ È®ÀåÀ» ÃËÁøÇÏ´Â XML ÁöÇâÀÇ µ¿±â Á¦°øÀÚ¿ëÀÇ Æ¯º°ÇÑ ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. |
Ŭ·¡½º °³¿ä | |
---|---|
SyncFactory | ¹ÌÁ¢¼ÓÀÇ RowSet °´Ã¼¿¡ ÀÇÇØ »ç¿ëµÇ´Â SyncProvider ÀνºÅº
½º¸¦ »ý¼ºÇÏ´Â ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀÎÅÍÆäÀ̽º (Service Provider Interface, SPI) µµ±¸
ÀÔ´Ï´Ù. |
SyncProvider | ¹ÌÁ¢¼ÓÀÇ RowSet °´Ã¼ÀÇ Àо/Ãâ·Â ±â´ÉÀ» Á¦°øÇÏ´Â µ¿±âµµ±¸
ÀÔ´Ï´Ù. |
¿¹¿Ü °³¿ä | |
---|---|
SyncFactoryException | SyncFactory µµ±¸
ÀÇ ¿¡·¯¸¦ ³ªÅ¸³À´Ï´Ù. |
SyncProviderException | SyncProvider µµ±¸
·Î ¹ß»ýÇÑ ¿¡·¯¸¦ ³ªÅ¸³À´Ï´Ù. |
½áµåÆÄƼÀÇ º¥´õ°¡ µ¿±â ÇÁ·Î¹ÙÀÌ´õÀÇ ±¸ÇöÀ¸·Î »ç¿ëÇØ¾ß Çϴ ǥÁØ Å¬·¡½º ¹× ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. ÀÌ·¯ÇÑ Å¬·¡½º ¹× ÀÎÅÍÆäÀ̽º¸¦ Á¤¸®ÇØ, ¡¸¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀÎÅÍÆäÀ̽º (Service Provider Interface, SPI)¡¹¶ó°í ºÎ¸¨´Ï´Ù. »ç¿ë °¡´ÉÇÑ SyncProvider
±¸ÇöÀÇ À϶÷ÀÌ ±âÀçµÈ JDBC Web ÆäÀÌÁö¿¡ º¥´õ °íÀ¯ÀÇ ±¸ÇöÀ» Ãß°¡ÇØ, °³¹ßÀÚ¿¡°Ô ±¸ÇöÀ» °ø°³ÇÏ°í ½ÍÀº °æ¿ì´Â jdbc@sun.com
±îÁö ÀüÀÚ ¸ÞÀÏ¿¡¼ ¿¬¶ôÇØ ÁֽʽÿÀ. RowSet
°´Ã¼·Î ±¸ÇöÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÏ·Á¸é,
±× ±¸ÇöÀ» SyncFactory
½Ì±Û Åæ¿¡ µî·ÏÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. µî·Ï ¼ø¼¿Í ¸í¸í ±ÔÄ¢ÀÇ ÀÚ¼¼ÇÑ ¼³¸í¿¡ ´ëÇØ¼´Â SyncProvider
Ŭ·¡½º ÄÚ¸àÆ®¸¦ ÂüÁ¶ÇϽʽÿÀ.
javax.sql.rowset.spi
ÆÐŰÁö´Â ´ÙÀ½ÀÇ Å¬·¡½º ¹× ÀÎÅÍÆäÀ̽º·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.
SyncFactory
SyncProvider
SyncFactoryException
SyncProviderException
SyncResolver
XmlReader
XmlWriter
TransactionalWriter
javax.sql
ÆÐŰÁö³»ÀÇ ´ÙÀ½ÀÇ ÀÎÅÍÆäÀ̽ºµµ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
RowSetReader
RowSetWriter
SyncProvider
±¸ÇöÀº ¹ÌÁ¢¼ÓÀÇ RowSet
°´Ã¼°¡ µ¥ÀÌÅ͸¦ Àбâ, º¯°æÀ» ´õÇÑ µÚ ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ ÀçÂ÷ Ãâ·ÂÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¼ö´ÜÀ» Á¦°øÇÕ´Ï´Ù. ¸®´õ °´Ã¼ (RowSetReader
¶Ç´Â XMLReader
)´Â CachedRowSet
execute
¶Ç´Â populate
¸Þ¼µå°¡ ºÒ·Á°¡
¸é, RowSet
°´Ã¼¿¡ µ¥ÀÌÅ͸¦ ÀоîµéÀÔ´Ï´Ù. ¶óÀÌÅÍ °´Ã¼ (RowSetWriter
¶Ç´Â XMLWriter
)´Â CachedRowSet
acceptChanges
¸Þ¼µå°¡ ºÒ·Á°¡
¸é, ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º·Î º¯°æµÈ µ¥ÀÌÅ͸¦ Ãâ·ÂÇÕ´Ï´Ù.
RowSet
°´Ã¼ÀÇ º¯°æ ³»¿ëÀ» µ¥ÀÌÅÍ ¼Ò½º¿¡ Ãâ·ÂÇϴ ó¸®¸¦ ¡¸µ¿±â¡¹¶ó°í ºÎ¸¨´Ï´Ù. RowSet
°´Ã¼ÀÇ ¶óÀÌÅͰ¡ »ç¿ëÇÏ´Â µ¿±âÀÇ ·¹º§Àº, RowSet
°´Ã¼ÀÇ SyncProvider
±¸Çö¿¡
°áÁ¤µË´Ï´Ù. µ¿±âÀÇ ´Ù¾çÇÑ ·¹º§À» ¡¸±×·¹À̵塹¶ó°í ºÎ¸¨´Ï´Ù.
Àú±×·¹À̵åÀÇ µ¿±â´Â °æÇÕÀÌ ÀüÇô Á¸ÀçÇÏÁö ¾Ê´ÂÁö, Á¸ÀçÇß´Ù°í ÇØµµ Àû´Â´Ù°í ÇÏ´Â ¿ÀÇÁƼ¹Ì½ºÆ½ (³«°üÀû)ÀÎ »óÁ¤ÇÑ ±âÃÊ·Î ÇàÇØÁý´Ï´Ù. ÀÌ µ¿±â ¸ðµ¨À» ¡¸¿ÀÇÁƼ¹Ì½ºÆ½ º´Çà ¸ðµ¨¡¹À̶ó°í ºÎ¸¨´Ï´Ù. RowSet
°´Ã¼³»¿¡¼ º¯°æµÈ µ¥ÀÌÅͰ¡ µ¥ÀÌÅÍ ¼Ò½º³»¿¡¼µµ º¯°æµÇ°í ÀÖ´Â °æ¿ì´Â °æÇÕÀÌ Á¸ÀçÇÕ´Ï´Ù. ¿ÀÇÁƼ¹Ì½ºÆ½ º´Çà ¸ðµ¨À» »ç¿ëÇÑ´Ù°í ÇÏ´Â °ÍÀº °æÇÕÀÌ Á¸ÀçÇÏ´Â °æ¿ì, µ¥ÀÌÅÍ ¼Ò½º ¶Ç´Â RowSet
°´Ã¼¿¡ÀÇ º¯°æÀÌ ¾ø¾îÁø´Ù°í ÇÏ´Â °ÍÀ»ÀǹÌÇÕ´Ï´Ù.
À̰Ϳ¡ ´ëÇØ¼ °í±×·¹À̵åÀÇ µ¿±â ¸ðµ¨À» ¡¸¿°¼¼ÀûÀÎ (ºñ°üÀû) º´Çà ¸ðµ¨¡¹À̶ó°í ºÎ¸¨´Ï´Ù. ÀÌ ¸ðµ¨¿¡¼´Â ´Ù¸¥ »ç¿ëÀÚ°¡ µ¥ÀÌÅÍ ¼Ò½º¿¡ Á¢¼ÓÇØ º¯°æÀ» ´õÇÒ °¡´É¼ºÀÌ ÀÖ´Ù°í ÇÏ´Â »óÁ¤ÇÑ ±âÃÊ·Î µ¿±â 󸮸¦ ÇÕ´Ï´Ù. ¿°¼¼ÀûÀÎ º´Çà ¸ðµ¨¿¡¼´Â °æÇÕÀÇ ¹ß»ýÀ» ¾ïÁ¦Çϱ⠶§¹®¿¡ ´Ù¾çÇÑ ¶ô ·¹º§ÀÌ ¼³Á¤µË´Ï´Ù.
ÃÖÀú ·¹º§ÀÇ µ¿±â·Î´Â RowSet
°´Ã¼¿¡ÀÇ Àüº¯°æ ³»¿ëÀÌ, ´Ü¼øÇÏ°Ô ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ Ãâ·ÂÇØÁý´Ï´Ù. ¶óÀÌÅÍ´Â °æÇÕÀÇ Ã¼Å©¸¦ ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù. °æÇÕÀÌ Á¸ÀçÇØ, µ¥ÀÌÅÍ ¼Ò½ºÀÇ °ªÀÌ µ¡¾²±âµÇ¾úÀ» °æ¿ì, ±× ¿ÜÀÇ »ç¿ëÀÚ¿¡
ÇÑ µ¥ÀÌÅÍ ¼Ò½ºÀÇ º¯°æÀº ¾ø¾îÁý´Ï´Ù.
RIXMLProvider
±¸ÇöÀº ÃÖÀú ·¹º§ÀÇ µ¿±â¸¦ »ç¿ëÇØ, RowSet
º¯°æÀ» ´Ü¼øÇÏ°Ô µ¥ÀÌÅÍ ¼Ò½º¿¡ Ãâ·ÂÇÕ´Ï´Ù. À̰ÍÀº º¸Åë, XML µ¥ÀÌÅÍ ¼Ò½º°¡ µ¥ÀÌÅÍÀÇ Á¤ÇÕ¼ºÀ» È®º¸Çϱâ À§ÇÑ Æ®·£Àè¼Ç(transaction) ±â¼úÀ» Áö¿ø
Çϰí ÀÖÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù. ±×·¯³ª, XML º£À̽ºÀÇ µ¿±â¸¦ °¡´ÉÇÏ°Ô ÇÏ´Â ¼ö´ÜÀ» Á¦°øÇÏ·Á°í Çϰí Àִ ǥÁØÈ ±×·ìµµ Á¸ÀçÇÕ´Ï´Ù. »ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â ÀÌÇϸ¦ ÂüÁ¶ÇϽʽÿÀ.
http://www.syncml.org
1°³
»óÀÇ ·¹º§¿¡¼´Â ¶óÀÌÅÍ´Â °æÇÕÀÌ Á¸ÀçÇÒÁö ¾î¶³Áö¸¦ Ã¼Å©ÇØ, Á¸ÀçÇÏ´Â °æ¿ì´Â µ¥ÀÌÅÍ ¼Ò½º¿¡ ¾Æ¹«°Íµµ Ãâ·ÂÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ µ¿±â ·¹º§¿¡´Â RowSet
°´Ã¼°¡ µ¥ÀÌÅ͸¦ ÃëµæÇÑ µÚ ´Ù¸¥ »ç¿ëÀÚ°¡ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ´ëÀÀÇÏ´Â µ¥ÀÌÅÍ·Î º¯°æÀ» ´õÇßÀ» °æ¿ì, RowSet
°´Ã¼ÀÇ º¯°æÀÌ ¾ø¾îÁø´Ù°í ÇÏ´Â ¹®Á¦°¡ ÀÖ½À´Ï´Ù. RIOptimisticProvider
±¸ÇöÀº ÀÌ µ¿±â ·¹º§À» »ç¿ëÇÕ´Ï´Ù.
ÃÖ°í ·¹º§ÀÇ µ¿±â (¿°¼¼ÀûÀÎ º´Çà ¸ðµ¨ÀÇ µ¿±â)·Î´Â ¶óÀÌÅÍ´Â °æÇÕÀ» ÇÇÇϱâ À§Çؼ ¶ôÀ» ¼³Á¤ÇÕ´Ï´Ù. ¶ôÀÇ ¼³Á¤À̶ó°í ÇØµµ, ´ÜÀÏÀÇ ÇàÀÇ ¶ôÀ¸·ÎºÎÅÍ, Å×ÀÌºí ¶Ç´Â µ¥ÀÌÅÍ ¼Ò½º ÀüüÀÇ ¶ô±îÁö, ´Ù¾çÇÑ ·¹º§ÀÌ ÀÖ½À´Ï´Ù. µû¶ó¼, µ¿±â ·¹º§Àº º¹¼öÀÇ »ç¿ëÀÚ¿¡
ÇÑ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ µ¿½Ã ¾×¼¼½º¿¡ ÁßÁ¡À» µÑ±îÇϰí, ¶óÀÌÅͰ¡ RowSet
°´Ã¼³»ÀÇ µ¥ÀÌÅÍ¿Í µ¥ÀÌÅÍ ¼Ò½º¸¦ µ¿±â ÇÏ°Ô ÇÏ´Â °Í¿¡ ÁßÁ¡À» µÑ±îÇϰíÀÇ Æ®·¹ÀÌµå ¿ÀÇÁ°¡ µË´Ï´Ù. ¹Ý´ë·Î ¶óÀÌÅÍÀÇ ±â´ÉÀ» À¯È¿ÇÏ°Ô Çϸé, µ¿½Ã ¾×¼¼½º ±â´ÉÀº ¹«È¿°¡ µË´Ï´Ù.
¹ÌÁ¢¼ÓÀÇ ¸ðµç RowSet
°´Ã¼ (CachedRowSet
, FilteredRowSet
, JoinRowSet
¹× WebRowSet
°´Ã¼)´Â SyncFactory
µµ±¸
·ÎºÎÅÍ SyncProvider
°´Ã¼¸¦ ÃëµæÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
·¹ÆÛ·±½º ±¸Çö (RI)Àº ´ÙÀ½ÀÇ 2 »ìÀÇ µ¿±â ÇÁ·Î¹ÙÀÌ´õ¸¦ Á¦°øÇÕ´Ï´Ù.
SyncFactory
ÀνºÅϽº·ÎºÎÅÍ ¹ÌÁ¢¼ÓÀÇ RowSet
°´Ã¼¿¡ Á¦°øµÇ´Â µðÆúÆ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ. RowSet
°´Ã¼¿Í µ¥ÀÌÅÍ ¼Ò½ºÀÇ µ¿±â¸¦ Àâ±â Àü¿¡
°æÇÕÀÌ Á¸ÀçÇÒÁö ¾î¶³ÁöÀÇ Ã¼Å©¸¦ ½Ç½ÃÇÕ´Ï´Ù. °æÇÕÀÌ Á¸ÀçÇÏ´Â °æ¿ì´Â ¾Æ¹«°Íµµ ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù. Áï, RowSet
°´Ã¼ÀÇ º¯°æÀº µ¥ÀÌÅÍ ¼Ò½º¿¡¼´Â º¸°ü À¯ÁöµÇÁö ¾Ê½À´Ï´Ù.
WebRowSet
°´Ã¼, Áï XML Çü½Ä¿¡¼ Àо ¶Ç´Â Ãâ·Â°¡´ÉÇÑ Çà ¼¼Æ®·Î »ç¿ëÇÒ ¼ö ÀÖ´Â µ¿±â ÇÁ·Î¹ÙÀÌ´õ. RIXMLProvider
±¸ÇöÀº °æÇÕÀÇ Ã¼Å©¸¦ ÀÏÀý ½Ç½ÃÇÏÁö ¾Ê°í, WebRowSet
°´Ã¼ÀÇ °»½Å µ¥ÀÌÅ͸¦ ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ ´Ü¼øÇÏ°Ô Ãâ·ÂÇÕ´Ï´Ù. WebRowSet
°´Ã¼´Â
XML µ¥ÀÌÅÍÀÇ Ã³¸®½Ã¿¡
ÀÌ ÇÁ·Î¹ÙÀÌ´õ¸¦ »ç¿ëÇÕ´Ï´Ù.
SyncProvider
±¸ÇöÀº ·¹ÆÛ·±½º ±¸Çö¿¡ ¹øµé µÇ°í Àֱ⠶§¹®¿¡
RowSet
±¸ÇöÀº ÀÌ·¯ÇÑ ±¸ÇöÀ» ¾ðÁ¦¶óµµ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. SyncProvider
±¸ÇöÀº, SyncFactory
½Ì±Û Åæ¿¡ µî·ÏµÇ¸é, ÀÌ¿ë °¡´ÉÇÑ »óŰ¡ µË´Ï´Ù. RowSet
°´Ã¼·ÎºÎÅÍ ÇÁ·Î¹ÙÀÌ´õ (»ý¼ºÀÚ³»·Î ÁöÁ¤, ¶Ç´Â CachedRowSet
setSyncProvider
¸Þ¼µåÀÇ Àμö·Î¼ ÁöÁ¤)ÀÇ ¿ä±¸¸¦ ¹Þ¾ÆµéÀ̸é, SyncFactory
½Ì±Û ÅæÀº ¿ä±¸µÈ ÇÁ·Î¹ÙÀÌ´õ°¡ µî·ÏµÇ¾î ÀÖ´ÂÁö¸¦ È®ÀÎÇÕ´Ï´Ù. µî·ÏµÇ¾î ÀÖ´Â °æ¿ì´Â
±× ÀνºÅϽº¸¦ ÀÛ¼ºÇØ, ¿ä±¸¿øÀÇ RowSet
°´Ã¼¿¡ °Ç³×ÁÝ´Ï´Ù. ÁöÁ¤µÈ SyncProvider
±¸ÇöÀÌ µî·ÏµÇÁö ¾ÊÀº °æ¿ì´Â SyncFactory
½Ì±Û ÅæÀº SyncFactoryException
°´Ã¼¸¦ Throw ÇÕ´Ï´Ù. ÇÁ·Î¹ÙÀÌ´õ°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â µðÆúÆ® ÇÁ·Î¹ÙÀÌ´õ ±¸Çö RIOptimisticProvider
¸¦ ÀÛ¼ºÇØ, ¿ä±¸¿øÀÇ RowSet
°´Ã¼¿¡ °Ç³×ÁÝ´Ï´Ù.
WebRowSet
°´Ã¼ÀÇ »ý¼ºÀÚ³»¿¡ ÇÁ·Î¹ÙÀÌ´õ°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, SyncFactory
´Â
RIOptimisticProvider
ÀνºÅϽº¸¦ °Ç³×ÁÝ´Ï´Ù. ´Ù¸¸, ±¸Çö¿¡ÀÇÇØ WebRowSet
»ý¼ºÀÚ°¡ ÇÁ·Î¹ÙÀÌ´õ·Î¼ RIXMLProvider
¸¦ ¼³Á¤ÇÏ´Â °æ¿ì, RowSet
°´Ã¼ÀÇ µ¶ÇØ ¹× Ãâ·ÂÀº XML Çü½Ä¿¡¼ ÇàÇØÁý´Ï´Ù.
»ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â SyncProvider Ŭ·¡½º »ç¾çÀ» ÂüÁ¶ÇϽʽÿÀ.
º¥´õ´Â SyncProvider ±¸Çö°ú ÀÓÀÇÀÇ µ¿±â ·¹º§À» °³¹ßÇØ, RowSet
°´Ã¼¿¡ µ¿±âµµ±¸¸¦ ¼±ÅýÃų ¼ö°¡ ÀÖ½À´Ï´Ù. ¶Ç, jdbc@sun.com
·Î
Sun Microsystems¿¡ ±¸ÇöÀÇ ¿ÏÀü ¼ö½Ä Ŭ·¡½º¸íÀ» µî·ÏÇÏ´Â °ÍÀ¸·Î½á, ±× ±¸ÇöÀ» °ø°³ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ Ã³¸®ÀÇ »ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â ÀÌÇÏ·Î ¼³¸íÇÕ´Ï´Ù.
¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀÎÅÍÆäÀ̽º´Â 2.2 ¹ÌÁ¢¼ÓÀÇ ÇÁ·ÎÆÛƼ ÆÄÀϳ»¿¡ ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ³ª ÇÁ·ÎÆÛƼ¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ý, JNDI ÄÁÅØ½ºÆ®¸¦ ±¸¼ºÇÏ´Â ¹æ¹ýÀÇ »ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â 2.3 SyncFactory ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽº »ý¼º Á¤Ã¥
ÇÁ·Î¹ÙÀÌ´õ°¡ Á¤»óÀûÀ¸·Î µî·ÏµÇ¾î ÀÖÀ¸¸é, ÀÌ·¯ÇÑ Á¤Ã¥
ÀÇ »ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â °Ô´Ù°¡ 3.2 ±×·¹À̵å JSR 114 ¿¡´Â 3.3 ¶ô JSR 114 ¿¡´Â ÀÌ·¯ÇÑ Á¤¼ö´Â ±×·¹À̵å Á¤¼ö¸¦ º¸¿ÏÇÏ´Â Á¤¼öÀÔ´Ï´Ù. ´ëºÎºÐÀÇ ±×·¹À̵åÀÇ µðÆúÆ® ¼³Á¤Àº, 3.4 °»½Å °¡´É ºä 3.5 ÀÌÇÏ¿¡
·¹ÆÛ·±½º ±¸Çö CachedRowSetImpl°¡ setSyncProvider ¸Þ¼µå¸¦ È£ÃâÇÏ´Â °Í¿¡ ÀÇÇØ ÇöÀçÀÇ SyncProvider °´Ã¼¸¦ ±¸¼ºÇÏ´Â ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
±× ÈÄ,
»ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ
ÂüÁ¶ÇϽʽÿÀ. 2.0 ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀÎÅÍÆäÀ̽º ¾ÆÅ°ÅØÃÄ
2.1°³
¿ä
SyncProvider
±¸ÇöÀ» µî·ÏÇÑµÚ ÇÊ¿äÇÑ ¶§¿¡ »ý¼ºÇÒ ¼ö ÀÖ´Â
Ç÷¯±× ÀÎ °¡´ÉÇÑ µµ±¸¸¦ Á¦°øÇÕ´Ï´Ù. SyncFactory
Áö¿¬ ÂüÁ¶ µµ±¸´Â ¹ÌÁ¢¼ÓÀÇ RowSet
°´Ã¼·ÎºÎÅÍ ¿ä±¸°¡ ÀÖÀ» ¶§±îÁö ÀνºÅϽºÀÇ »ý¼ºÀ» ´ÊÃß´Â °ÍÀ¸·Î ÀÚ¿øÀÇ ¾µµ¥¾ø´Â ¼Òºñ¸¦ Á¦ÇÑÇÕ´Ï´Ù. SyncFactory
Ŭ·¡½º´Â ƯÁ¤ÀÇ SyncProvider
±¸Çö¿¡ ÀÇÇØ Á¦°øµÇ´Â ·Î±× ¿É¼Ç°ú ½ºÆ®¸²À» ±¸¼ºÇϱâ À§ÇÑ Ç¥ÁØ APIµµ
Á¦°øÇÕ´Ï´Ù. SyncFactory
¿¡
ÀÇ µî·ÏRowSet
°´Ã¼°¡ ½áµåÆÄƼÀÇ SyncProvider
±¸ÇöÀ» ÃëµæÇØ, ±× javax.sql.RowSetReader
±¸Çö°ú javax.sql.RowSetWriter
±¸ÇöÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÏ·Á¸é,
ÀÌ ±¸ÇöÀ» SyncFactory
¿¡ µî·ÏÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ¸ðµç SyncProvider
±¸ÇöÀº ´ÙÀ½ÀÇ µî·Ï µµ±¸¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. SyncProvider
°´Ã¼¸¦ Ãß°¡ÇÒ ¼ö ÀÖ´ÙSyncFactory
¿¡ °Ç³×ÁÙ Çʿ䰡 ÀÖ´Ù
SyncFactory
Ŭ·¡½ºÀÇ ¼³¸íÀ» ÂüÁ¶ÇϽʽÿÀ. SyncFactory
Àº ¿ä±¸µÈ SyncProvider
°´Ã¼¸¦ »ý¼ºÇÕ´Ï´Ù. ¹ÌÁ¢¼ÓÀÇ RowSet
°´Ã¼°¡ ƯÁ¤ÀÇ SyncProvider
±¸ÇöÀ¸·Î ÃʱâȵǾúÀ» ¶§, ¶Ç´Â ±× ¿ÜÀÇ SyncProvider
°´Ã¼·Î ½ÇÇà½Ã¿¡ º¹±¸ ÀÌ·ç¾îÁ³À» ¶§´Â ´ÙÀ½ÀÇ Á¤Ã¥°¡ ½ÃÇàµË´Ï´Ù. SyncProvider
°´Ã¼°¡ ÁöÁ¤µÇ¾îSyncFactory
¿¡ ÇÁ·Î¹ÙÀÌ´õÀÇ ÂüÁ¶°¡ Æ÷ÇÔµÇÁö ¾Ê´Â °æ¿ì, SyncFactoryException
°¡ Throw µÈ´ÙSyncProvider
°´Ã¼°¡ ÁöÁ¤µÇ¾îSyncFactory
¿¡ ÇÁ·Î¹ÙÀÌ´õÀÇ ÂüÁ¶°¡ Æ÷ÇԵǴ °æ¿ì, ¿ä±¸µÈ ÇÁ·Î¹ÙÀÌ´õ°¡ Á¦°øµÈ´ÙSyncProvider
°´Ã¼°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ·¹ÆÛ·±½º ±¸Çö ÇÁ·Î¹ÙÀÌ´õ RIOptimisticProvider
°¡ Á¦°øµÈ´Ù
Ŭ·¡½ºÀÇ ¼³¸íÀ» ÂüÁ¶ÇϽʽÿÀ.
SyncFactory
3.0 SyncProvider ±¸Çö °¡À̵å
3.1 ¿ä°Ç
SyncFactory
¿¡ ¿ÏÀüÇÏ°Ô Ç÷¯±× ÀÎ °¡´ÉÇÑ SyncProvider
Áذб¸ÇöÀº ¸ðµç Ãß»ó ¸Þ¼µå¸¦ È®ÀåÇØ, SyncProvider
Ŭ·¡½º¿¡ ±¸ÇöÇÒÇʿ䰡 ÀÖ½À´Ï´Ù. °³°³ÀÇ ±¸ÇöÀº, SyncProvider
Ŭ·¡½º Á¤Àdz»ÀÇ ±×·¹À̵å, ¶ô, °»½Å °¡´É ºäÀÇ ±â´ÉÀ» È®Á¤ÇÒÇʿ䰡 ÀÖ½À´Ï´Ù. 1°³
ÀÌ»óÀÇ SyncProvider
±â¼ú ±âÁØÀÌ Áö¿ø
µÇ°í ÀÖÀ»Çʿ䰡 ÀÖ½À´Ï´Ù. º¥´õ ±¸ÇöÀº ±×·¹À̵å, ¶ô, °»½Å °¡´É ºäÀÇ ±â´ÉÀÇ ¹üÀ§¸¦ ³ªÅ¸³»´Â °ÍÀÌ ¿ä±¸µË´Ï´Ù. SyncProvider
¸í¸í ±ÔÄ¢¿¡ ÁذÅÇÒÇʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ ¸í¸í ±ÔÄ¢ÀÇ »ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â SyncProvider
Ŭ·¡½ºÀÇ ¼³¸íÀ» ÂüÁ¶ÇϽʽÿÀ. SyncProvider
°´Ã¼·ÎºÎÅÍ ¹ÌÁ¢¼ÓÀÇ RowSet
°´Ã¼¿¡ Á¦°øµÇ´Â µ¿±âÀÇ Ç°ÁúÀ» ³ªÅ¸³»´Â ÀÏ·ÃÀÇ ±×·¹À̵尡 Á¤Àǵǰí ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ±×·¹À̵å´Â ¼ºñ½º ǰÁúÀÇ ³·Àº ¼ø¼¿¡ À϶÷ µË´Ï´Ù. SyncProvider
±¸ÇöÀº, RowSet
°´Ã¼³»ÀÇ º¯°æÀÌ ³¡³ µ¥ÀÌÅ͸¦ ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ µ¡¾²±âÇÒ »Ó. ¿øÀÇ °ª°ú ÇöÀçÀÇ °ªÀ» ºñ±³ÇØ °æÇÕÀÌ ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇϴ ó¸®´Â ÇàÇØÁöÁö ¾Ê´Â´Ù. RIXMLProvider
´Â
ÀÌ ±×·¹À̵å·Î ±¸ÇöµÇ°í ÀÖ´ÙSyncProvider
±¸ÇöÀº ÀüȸÀÇ µ¿±âºÎÅÍ À̹ø µ¿±â±îÁö º¯°æµÈ ÀºÇà³»¿¡ °æÇÕÀÌ ¾ø´Â°¡ üũ¸¦ ½Ç½ÃÇÑ´Ù. ¿ø·¡ÀÇ µ¥ÀÌÅÍ ¼Ò½º·Î º¯°æÀÌ ´õÇØÁøµÚ ±× ³»¿ëÀÌ ¹ÌÁ¢¼ÓÀÇ RowSet
°´Ã¼¿¡ ¹Ý¿µµÉ °ÍÀº ¾ø´Ù. °æÇÕÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì, RowSet
°´Ã¼³»ÀÇ º¯°æÀº µ¥ÀÌÅÍ ¼Ò½º¿¡ Ãâ·ÂÇØÁø´Ù. °æÇÕÀÌ Á¸ÀçÇÏ´Â °æ¿ì, º¯°æ ³»¿ëÀº Ãâ·ÂÇØÁöÁö ¾Ê´Ù. RIOptimisticProvider
±¸ÇöÀº ÀÌ ±×·¹À̵带 »ç¿ëÇÑ´ÙSyncProvider
±¸ÇöÀº ¹ÌÁ¢¼ÓÀÇ RowSet
°´Ã¼³»ÀÇ ¸ðµç ÇàÀ» ¹Ìº¯°æÀÇ °Íµµ Æ÷ÇÔÇØ üũÇÑ´Ù. À̰Ϳ¡ ÀÇÇØ
µ¿±â°¡ Á¤»óÀûÀ¸·Î ¿Ï·áÇßÀ» ¶§, ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ¸ðµç ÇàÀÇ º¯°æÀÌ ¹ÌÁ¢¼ÓÀÇ RowSet
°´Ã¼¿¡ ¹Ý¿µµÈ´ÙSyncProvider
±¸ÇöÀº, RowSet
°´Ã¼³»ÀÇ ÇàÀÌ º¯°æµÇ¾úÀ» ¶§, µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °°Àº µ¥ÀÌÅͰ¡ ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ÀÇÇØ º¯°æµÇ´Â °ÍÀÌ ¾ø°Ô, ¿ø·¡ÀÇ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀ» Àá±Ù´ÙSyncProvider
±¸ÇöÀº, RowSet
°´Ã¼ÀÇ À̽Ŀ¡ »ç¿ëµÈ ¿øÀÇ Äõ¸®ÀÇ ¿µÇâÀ» ¹Þ´Â ºä¿Í Å×À̺í Àüü, ¶Ç´Â ±× ¾î´ÀÂÊÀ̵çÀ» Àá±Ù´Ù
RowSet
°´Ã¼ÀÇ ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿¡ ¶ôÀÌ Àû¿ëµÇ°í ÀÖ´ÂÁö ¾î¶²Áö, Àû¿ëµÇ°í ÀÖ´Â °æ¿ì´Â ¾î´À ±¸Á¶Ã¼¿¡ Àû¿ëµÇ°í ÀÖ´ÂÁö¸¦ ³ªÅ¸³»´Â Á¤¼ö¼¼Æ®°¡ Á¤Àǵǰí ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¶ôÀº µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ RowSet
°´Ã¼°¡ Àý´Ü µÉ ¶§±îÁö, µ¥ÀÌÅÍ ¼Ò½º»ó¿¡ º¸°ü À¯ÁöµË´Ï´Ù.
RowSet
°´Ã¼¸¦ µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ Àý´Ü ÇÒ ¶§ µ¥ÀÌÅÍ ¼Ò½ºÀÇ ¶ôµµ ÆÄ±âÇÏ´Â °ÍÀ» ¿ä±¸ÇÕ´Ï´Ù. ±×·¹À̵å GRADE_LOCK_WHEN_MODIFIED
¹× GRADE_LOCK_WHEN_LOADED
¿¡
¼´Â ¹ÌÁ¢¼ÓÀÇ RowSet
°´Ã¼·Î ¶ôÀÇ ´Ü°è¸¦ ¼¼¼¼ÇÏ°Ô Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù. RowSet
°´Ã¼ÀÇ °ü¸®ÇÏ¿¡ ÀÖ´Â °ÍÀ» Á¦¿ÜÇÏ´Â ¸ðµç SyncProvider
±¸ÇöÀÇ µðÆúÆ®ÀÇ ¶ô ¼³Á¤RowSet
°´Ã¼ÀÇ À̽Ŀ¡ »ç¿ëµÈ ¿øÀÇ SQL Äõ¸®ÀÇ ¿µÇâÀ» ¹Þ´Â Çà¿¡°Ô¸¸ º¸°ü À¯ÁöµÈ´ÙRowSet
°´Ã¼ÀÇ À̽Ŀ¡ »ç¿ëµÈ Äõ¸®ÀÇ ¿µÇâÀ» ¹Þ´Â ¸ðµç Å×À̺í»ó¿¡¼ º¸°ü À¯ÁöµÈ´ÙRowSet
°´Ã¼¿¡ ÀÇÇØ »ç¿ëµÇ´Â µ¥ÀÌÅÍ ¼Ò½º Àüü·Î º¸°ü À¯ÁöµÈ´Ù
RowSet
°´Ã¼¿¡´Â SQL VIEW
µ¥ÀÌÅ͸¦ À̽ÄÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌÇÏ´Â SyncProvider
°´Ã¼°¡VIEW
ÆÄ»ý¿øÀÇ Å×À̺í (º¹¼ö°¡) ³»ÀÇ µ¥ÀÌÅ͸¦ °»½ÅÇÒ ¼ö ÀÖÀ»Áö ¾î¶³Áö¸¦ ³ªÅ¸³»´Â Á¤¼öÀÔ´Ï´Ù. SyncProvider
±¸ÇöÀÌ, RowSet
°´Ã¼¸¦ À̽ÄÇϱâ À§Çؼ »ç¿ëµÈ SQL VIEW
ÆÄ»ý¿øÀÇ Å×À̺í (º¹¼ö°¡´É)¿¡ÀÇ µ¿±â¸¦ Áö¿øÇÏ´Â °ÍÀ» ³ªÅ¸³½´ÙSyncProvider
±¸ÇöÀÌ, RowSet
°´Ã¼¸¦ À̽ÄÇϱâ À§Çؼ »ç¿ëµÈ SQL VIEW
ÆÄ»ý¿øÀÇ Å×À̺í (º¹¼ö°¡´É)¿¡ÀÇ µ¿±â¸¦ Áö¿ø
ÇÏÁö ¾Ê´Â°ÍÀ» ³ªÅ¸³½´Ù
SyncProvider
±×·¹ÀÌµå ±â´É°ú ¶ô ±â´ÉÀÇ »ç¿ë ¹æ¹ý CachedRowSetImpl crs = new CachedRowSetImpl(); crs.setSyncProvider("com.foo.bar.HASyncProvider");
¾îÇø®ÄÉÀ̼ÇÀº ¹ÌÁ¢¼ÓÀÇ RowSet
°´Ã¼¿¡ ÀÇÇØ ÇöÀç »ç¿ëµÇ°í ÀÖ´Â SyncProvider °´Ã¼¸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç, ÇÁ·Î¹ÙÀÌ´õÀÇ ±¸Çö¿¡ »ç¿ëµÈ µ¿±âÀÇ ±×·¹À̵å¿Í ÇöÀç »ç¿ëµÇ°í ÀÖ´Â ¶ôÀÇ ´Ü°èµµ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀÇ À¯¿¬¼ºÀ» ÀÌ¿ëÇØ, »ç¿ëÇÏ´Â ¶ôÀÇ ´Ü°è¸¦ ¼³Á¤ÇÏ´Â °ÍÀ¸·Î½á, µ¿±âÀÇ ¼º°øÀÇ È®·üÀ» ³ôÀÏ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¿ÀÆÛ·¹À̼ǿ¡ ´ëÇØ¼´Â ¾Æ·¡ÀÇ ÄÚµåÀÇ ¹ßÃ鸦 ÂüÁ¶ÇϽʽÿÀ. SyncProvider sync = crs.getSyncProvider();
switch (sync.getProviderGrade()) { case: SyncProvider.GRADE_CHECK_ALL_AT_COMMIT //A high grade of optimistic synchronization break; case: SyncProvider.GRADE_CHECK_MODIFIED_AT_COMMIT //A low grade of optimistic synchronization break; case: SyncProvider.GRADE_LOCK_WHEN_LOADED // A pessimistic synchronization grade break; case: SyncProvider.GRADE_LOCK_WHEN_MODIFIED // A pessimistic synchronization grade break; case: SyncProvider.GRADE_NONE // No synchronization with the originating data source provided break; } switch (sync.getDataSourcLock() { case: SyncProvider.DATASOURCE_DB_LOCK // A lock is placed on the entire datasource that is used by the //
RowSet
object break;
case: SyncProvider.DATASOURCE_NO_LOCK // No locks remain on the originating data source. break;
case: SyncProvider.DATASOURCE_ROW_LOCK // A lock is placed on the rows that are touched by the original // SQL statement used to populate // the RowSet object that is using the SyncProvider break;
case: DATASOURCE_TABLE_LOCK // A lock is placed on all tables that are touched by the original // SQL statement used to populated // the RowSet object that is using the SyncProvider break;
SyncFactory
Ŭ·¡½ºÀÇ static À¯Æ¿¸®Æ¼ ¸Þ¼µå¸¦ »ç¿ëÇØ, ÇöÀç SyncFactory
¿¡ µî·ÏµÇ¾î ÀÖ´Â SyncProvider
±¸ÇöÀÇ À϶÷À» È®ÀÎÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
Enumeration e = SyncFactory.getRegisteredProviders();
4.0 µ¿±â °æÇÕÀÇ ÇØ°á
¾îÇø®ÄÉÀ̼ÇÀº, SyncResolver
ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇØ, °æÇÕÀÌ ¹ß»ýÇßÀ» ¶§ÀÇ ¼öµ¿¿¡¼ÀÇ ´ëó¹ýÀ» °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. CachedRowSet
acceptChanges
¸Þ¼µå°¡ Á¾·áÇØ, °æÇÕÀÇ Á¸Àç°¡ È®ÀεǾúÀ» °æ¿ì, ÀÌ ¸Þ¼µå´Â SyncProviderException
°´Ã¼¸¦ Throw ÇÕ´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº ¿¹¿Ü¸¦ ijġ ÇØ, SyncProviderException.getSyncResolver()
¸Þ¼µå È£Ãâ¿¡ ÀÇÇØ SyncResolver
°´Ã¼¸¦ Ãëµæ½Ãų ¼ö°¡ ÀÖ½À´Ï´Ù.
SyncResolver
°´Ã¼´Â
SyncResolver
ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϰí Àִ Ư¼öÇÑ CachedRowSet
¶Ç´Â JdbcRowSet
°´Ã¼À̸ç, 1 Ç྿ °æÇÕÀÇ Ã¼Å©¸¦ ½Ç½ÃÇÕ´Ï´Ù. µ¿±â µÇ´Â RowSet
°´Ã¼ÀÇ º¹Á¦°¡ µÇ¾î ÀÖ¾î, °æÇÕÀÇ ¿øÀÎÀÌ µÇ°í ÀÖ´Â µ¥ÀÌÅÍ ¼Ò½ºÀÇ µ¥ÀÌÅ͸¸À» Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù. À̰ÍÀÌ, °æÇÕÀÇ ¿øÀÎÀÔ´Ï´Ù. ±× ¿ÜÀÇ ¸ðµç ·ÄÄ¡´Â null
·Î
¼³Á¤µË´Ï´Ù. SyncResolver
°´Ã¼´Â
°æÇÕ Çϰí ÀÖ´Â °ªÀ¸·ÎºÎÅÍ ´Ù¸¥ °æÇÕ Çϰí ÀÖ´Â °ª¿¡ À̵¿ÇÒ ¼ö ÀÖ´Â ¸Þ¼µå, nextConflict
¹× previousConflict
¸¦ Á¦°øÇϰí ÀÖ½À´Ï´Ù.
SyncResolver
ÀÎÅÍÆäÀ̽º´Â ¾Æ·¡ÀÇ Ã³¸®¸¦ ½Ç½ÃÇÏ´Â ¸Þ¼µåµµ Á¦°øÇÕ´Ï´Ù.
RowSet
°´Ã¼ÀÇ µ¥ÀÌÅ͸¦ º¯°æÇÒ Çʿ䰡 ÀÖ´Â °æ¿ì ±× ÀûÀýÇÑ °ªÀÇ ¼³Á¤
CachedRowSet
acceptChanges
¸Þ¼µå´Â ºÒ·Á°¡
¸é, RowSet
°´Ã¼ÀÇ SyncProvider
°´Ã¼¸¦ À§¾ç ÇÕ´Ï´Ù. ÀÌ SyncProvider
°´Ã¼·ÎºÎÅÍ Á¦°øµÇ´Â ¶óÀÌÅÍÀÇ ±¸Çö ¹æ¹ýÀº °æÇÕÀÇ Ã¼Å© ·¹º§ (±×·¹À̵å)¿¡
°áÁ¤µË´Ï´Ù. °æÇÕÀÇ Ã¼Å©°¡ ¸ðµÎ ¿Ï·áÇØ, ½ÇÁ¦·Î °æÇÕÀÌ °ËÃâµÇ¾úÀ» °æ¿ì, acceptChanges
¸Þ¼µå´Â SyncProviderException
°´Ã¼¸¦ Throw ÇÕ´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº ¿¹¿Ü¸¦ ijġ ÇØ, ÀÌ ¿¹¿Ü¸¦ »ç¿ëÇØ SyncResolver
°´Ã¼¸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù
.
SyncResolver
¸Þ¼µå¸¦ »ç¿ëÇØ, °¢ °æÇÕÀÇ Á¤º¸¸¦ ÃëµæÇØ, ´ëó ¹æ¹ýÀ» °áÁ¤ÇÕ´Ï´Ù. ¾îÇø®ÄÉÀÌ¼Ç ³í¸® ¶Ç´Â »ç¿ëÀÚ¿¡ ÀÇÇØ RowSet
°´Ã¼³»ÀÇ °ªÀ» Áö¼Ó½Ãų Çʿ䰡 ÀÖ´Ù°í ÇÏ´Â ÆÇ´ÜÀÌ ³»·ÁÁ³À» °æ¿ì, ¾îÇø®ÄÉÀÌ¼Ç ¶Ç´Â »ç¿ëÀÚ´Â ÀÌ °ªÀ¸·Î µ¥ÀÌÅÍ ¼Ò½ºÄ¡¸¦ µ¡¾²±âÇÒ ¼ö ÀÖ½À´Ï´Ù.
SyncResolver
ÀÎÅÍÆäÀ̽ºÀÇ ÄÚ¸àÆ®¸¦ ÂüÁ¶ÇϽʽÿÀ.
5.0 °ü·Ã »ç¾ç
6.0 °ü·Ã Ç׸ñ
°³¿ä
ÆÐŰÁö
Ŭ·¡½º
»ç¿ë
°èÃþ Æ®¸®
ºñÃßõ API
»öÀÎ
ÇïÇÁ
JavaTM 2 Platform
Standard Ed. 5.0
ÀüÀÇ ÆÐŰÁö
´ÙÀ½ÀÇ ÆÐŰÁö
ÇÁ·¹ÀÓÀ¸·Î
ÇÁ·¹ÀÓ ¾øÀÌ