|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor¡¡ ¡¡ | ¸Þ¼µå | »ó¼¼: Çʵå | constructor¡¡ ¡¡ | ¸Þ¼µå |
public interface SyncResolver
¾îÇø®ÄÉÀ̼ÇÀÌ, ¼öµ¿ÀÇ Áö°áÁ¤ Æ®¸®¸¦ »ç¿ëÇØ µ¿±â °æÇÕÀÌ ¹ß»ýÇßÀ» ¶§ÀÇ ´ëó ¹æ¹ýÀ» °áÁ¤ÇÒ ¼ö ÀÖµµ·Ï Çϴ üÁ¦¸¦ Á¤ÀÇÇÕ´Ï´Ù. ¾ÆÇÁ¸®ÄÉÀ̼ µ¿±â °æÇÕÀ» ¼öµ¿À¸·Î ÇØ°áÇÏ´Â °ÍÀº Çʼö°¡ ¾Æ´Õ´Ï´Ù¸¸, ÀÌ Ã¼Á¦´Â °æÇÕÀÌ ¹ß»ýÇßÀ» ¶§¿¡ ¾îÇø®ÄÉÀ̼ǿ¡ À§¾ç ÇÏ´Â ¼ö´ÜÀ» Á¦°øÇÕ´Ï´Ù.
°æÇÕÀ̶õ
RowSet
°´Ã¼ÀÇ ¿øÀÇ ÇàÀÇ °ªÀÌ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °ª°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â »óÅÂÀ̸ç, ÀüȸÀÇ µ¿±â ÀÌÈÄ¿¡ µ¥ÀÌÅÍ ¼Ò½ºÇàÀÌ º¯°æµÈ °ÍÀ» ³ªÅ¸³À´Ï´Ù. RowSet
°´Ã¼ÀÇ ¿øÀÇ °ªÀº ÀüȸÀÇ µ¿±âÀÇ Á÷ÀüÀÇ °ªÀ̸ç, ¹Ýµå½Ã ÃʱⰪÀÌ ¾Æ´Õ´Ï´Ù.
SyncResolver
°´Ã¼ÀÇ ¼³¸íSyncResolver
°´Ã¼´Â SyncResolver
ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÑ´Ù
Ư¼öÇÑ RowSet
°´Ã¼ÀÔ´Ï´Ù. À̰ÍÀº Á¢¼ÓµÈ RowSet
°´Ã¼ (JdbcRowSet
ÀÌ
ŸÆä½ºÀÇ ±¸Çö) ¶Ç´Â ¹ÌÁ¢¼ÓÀÇ RowSet
°´Ã¼ (CachedRowSet
ÀÌ
ŸÆä½º ¶Ç´Â ±× ¼ºê ÀÎÅÍÆäÀ̽ºÀÇ ±¸Çö)À¸·Î¼ µ¿ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼ºê ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ¼´Â javax.sql.rowset
ÆÐŰÁöÀÇ ¼³
¸íÀ» ÂüÁ¶ÇϽʽÿÀ. SyncResolver
ÀÇ ·¹ÆÛ·±½º ±¸ÇöÀº CachedRowSet
ÀÌ
ŸÆä½º¸¦ ±¸ÇöÇÕ´Ï´Ù¸¸, ´Ù¸¥ ±¸Çö¿¡¼´Â JdbcRowSet
ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ, ƯÁ¤ÀÇ Çʿ並 ä¿ì´Â °ÍÀÌ ¼º°ú.
¾îÇø®ÄÉÀ̼ÇÀÌ (CachedRowSet
acceptChanges
¸Þ¼µå¸¦ È£ÃâÇØ) RowSet
°´Ã¼¿Í µ¥ÀÌÅÍ ¼Ò½º¸¦ µ¿±â ½ÃŰ·Á°í ÇÑ ÈÄ, ¸î°³ÀÇ °æÇÕÀÌ ¹ß°ßµÇ¸é, Çà ¼¼Æ®ÀÇ SyncProvider
°´Ã¼´Â SyncResolver
ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ÀÌ »õ·Î¿î SyncResolver
°´Ã¼´Â µ¿±â¸¦ ½ÃµµÇÑ RowSet
°´Ã¼¿Í °°Àº Çà¼ö ¹× ·Ä¼ö°¡ µË´Ï´Ù. SyncResolver
°´Ã¼¿¡´Â °æÇÕÀÌ ¹ß»ýÇÑ µ¥ÀÌÅÍ ¼Ò½ºÀÇ °ªÀÌ Æ÷ÇÔµÇ¾î ´Ù¸¥ ¸ðµç °ª¿¡´Â null
ÇÏÁö¸¸ Æ÷ÇԵ˴ϴÙ. °Ô´Ù°¡ °¢ °æÇÕÀÇ Á¤º¸µµ Æ÷ÇԵ˴ϴÙ.
SyncResolver
°´Ã¼ÀÇ Ãëµæ°ú »ç¿ëacceptChanges
¸Þ¼µå°¡ °æÇÕÀ» °ËÃâÇϸé, SyncProvider
¿ÀºêÁ¦Å©
Æ®´Â SyncProviderException
°´Ã¼¸¦ ÀÛ¼ºÇØ, °Å±â¿¡ »õ·Î¿î SyncResolver
¿À
ºêÁ¦Å©Æ®¸¦ ¼³Á¤ÇÕ´Ï´Ù. acceptChanges
¸Þ¼µå´Â ÀÌ ¿¹¿Ü¸¦ Throw ÇØ, ±×°ÍÀ» ¾îÇø®ÄÉÀ̼ÇÀÌ Ä³Ä¡ ÇØ, °Ý
³³ µÇ°í ÀÖ´Â SyncResolver
°´Ã¼ÀÇ Ãëµæ¿¡ »ç¿ëÇÕ´Ï´Ù. ´ÙÀ½ÀÇ ÄÚµå ºÎºÐ¿¡¼´Â SyncProviderException
ÀÇ getSyncResolver
¸Þ¼µå¸¦ »ç¿ëÇØ, SyncResolver
°´Ã¼
resolver¸¦ ÃëµæÇÕ´Ï´Ù.
} catch (SyncProviderException spe) { SyncResolver resolver = spe.getSyncResolver(); ... }
¾îÇø®ÄÉÀ̼ÇÀº, resolver¸¦ »ç¿ëÇØ, °Å±â¿¡ Æ÷ÇԵǴ °æÇÕ (º¹¼ö°¡´É)ÀÇ Á¤º¸¸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. resolver
µîÀÇ SyncResolver
°´Ã¼´Â °æÇÕÀÌ ÀÖ´Â °¢ ÇàÀ¸·Î ±× °æÇÕÀ» ÃßÀûÇÕ´Ï´Ù. ¶Ç, Çà ¼¼Æ®ÀÇ Ä¿¸àµåÀÇ ¿µÇâÀ» ¹Þ´Â Å×À̺í (º¹¼ö°¡´É)¿¡ ¶ôÀ» Àû¿ëÇØ, ÇöÀçÀÇ °æÇÕÀÌ ÇØ°áµÉ ¶§±îÁö »õ·Ó°Ô °æÇÕÀÌ ¹ß»ýÇÏÁö ¾Ê°Ô ÇÕ´Ï´Ù.
SyncResolver
°´Ã¼·ÎºÎÅÍ Ãëµæ °¡´ÉÇÑ Á¤º¸´Â ´ÙÀ½°ú °°½À´Ï´Ù.
SyncProvider
ÀÎÅÍÆäÀ̽º´Â ¹ß»ýÇÒ °¡´É¼ºÀÌ ÀÖ´Â »óÅ¿¡ ´ëÇØ ¼³¸íÇÏ´Â 4
°³ÀÇ Á¤¼ö¸¦ Á¤ÀÇÇÕ´Ï´Ù. 3°³ÀÇ Á¤¼ö´Â °æÇÕÀÌ °ËÃâµÇ¾úÀ» ¶§ RowSet
°´Ã¼°¡ ½ÃÇàÇϰí ÀÖ´ø Á¶ÀÛÀÇ Á¾·ù
(°»½Å, »èÁ¦, ¶Ç´Â »ðÀÔ)¸¦ ³ªÅ¸³», 4 ¹øÂ°´Â °æÇÕÀÌ ¾ø´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. SyncResolver
°´Ã¼°¡ getStatus
¸Þ¼µå¸¦ È£ÃâÇßÀ» ¶§, ÀÌ·¯ÇÑ Á¤¼ö°¡ ¹Ýȯ°ªÀ¸·Î¼ µ¹·ÁÁÖ°íÁú °¡´É¼ºÀÌ ÀÖ´Â °ÍÀÔ´Ï´Ù.
int operation = resolver.getStatus();
RowSet
°´Ã¼¿¡ ÀÇÇØ °ªÀÌ º¯°æµÇ¾î µ¥ÀÌÅÍ ¼Ò½º¿¡ Ãâ·ÂÇØÁú ¶§, Ãâ·ÂóÀÇ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °ªÀÌ Àüȸ µ¿±â 󸮸¦ ÇàÇÑ ½ÃÁ¡°ú´Â ´Ù¸¥ Àå¼Ò
ÇÕ, °æÇÕÀÌ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù. SyncResolver
°´Ã¼ÀÇ °ªÀÌ µ¥ÀÌÅÍ ¼Ò½ºÀÇ °æÇÕÄ¡À̱⠶§¹®¿¡
¾îÇø®ÄÉÀ̼ÇÀº SyncResolver
getConflictValue
¸Þ¼µå¸¦ È£ÃâÇØ, °æÇÕÀÇ ¿øÀÎÀÌ µÈ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °ªÀ» ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
java.lang.Object conflictValue = resolver.getConflictValue(2);resolver ¿Àº À§ÀÇ ÄÚµå ¿¹ÀÇ °°°Ô ¿¹øÈ£·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ·Ä¸íÀ¸·Î ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀº, getStatus
¸Þ¼µå ¹× getConflictValue
¸Þ¼µå·ÎºÎÅÍ ÃëµæµÈ Á¤º¸¸¦ »ç¿ëÇØ, µ¥ÀÌÅÍ ¼Ò½º³»¿¡ º¸°ü À¯ÁöÇØ¾ß ÇÒ Ä¡¸¦ °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. °è¼ÓµÇ¾î, SyncResolver
setResolvedValue
¸Þ¼µå¸¦ È£ÃâÇØ, RowSet
°´Ã¼ ¹× µ¥ÀÌÅÍ ¼Ò½º ·Î À¯ÁöÇÏ´Â °ªÀ» ¼³Á¤ÇÕ´Ï´Ù.
resolver.setResolvedValue("DEPT", 8390426);À§ÀÇ Äڵ忹¿¡¼´Â ·Ä¸í¿¡ÀÇÇØ ÁöÁ¤ÀÇ °ªÀ» ¼³Á¤µÇ´Â
RowSet
°´Ã¼³»ÀÇ ¿À» ÁöÁ¤Çϰí ÀÖ½À´Ï´Ù. ¿¹øÈ£·Î ¿À» ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀº ÇöÀçÀÇ °æÇÕ ÇÏ´Â ÇàÀÇ ¸ðµç °æÇÕÀ» ÇØ°áÇϸé, setResolvedValue
¸Þ¼µå¸¦ È£ÃâÇØ, SyncResolver
°´Ã¼ÀÇ °æÇÕ ÇÏ´Â Çà ¸¶´Ù ÀÌ ¼ø¼¸¦ ¹Ýº¹ÇÕ´Ï´Ù.
SyncResolver
°´Ã¼ÀÇ ¾È³»
SyncResolver
°´Ã¼´Â RowSet
°´Ã¼À̱⠶§¹®¿¡
¾îÇø®ÄÉÀ̼ÇÀº ¸ðµç RowSet
¸Þ¼µå¸¦ »ç¿ëÇØ, Ä¿¼¸¦ ¿òÁ÷¿©, SyncResolver
°´Ã¼¸¦ ¾È³»ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î
¾îÇø®ÄÉÀ̼ÇÀº RowSet
next
¸Þ¼µå¸¦ »ç¿ëÇØ, °¢ ÇàÀ¸·Î À̵¿ÇØ, SyncResolver
getStatus
¸Þ¼µå¸¦ È£ÃâÇØ, Çà¿¡ °æÇÕÀÌ Æ÷ÇÔµÉÁö ¾î¶³Áö¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. °æÇÕÀ» Æ÷ÇÔÇÑ Çà¿¡¼´Â ¾îÇø®ÄÉÀ̼ÇÀº ¿·Î ¹Ýº¹ 󸮸¦ ½Ç½ÃÇØ, nullÀÌ¿ÜÀÇ °ªÀ» ã¾Æ³¾ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ °ªÀº °æÇÕÀÌ ÀÖ´Â µ¥ÀÌÅÍ ¼Ò½ºÀÇ °ªÀÌ µË´Ï´Ù.
SyncResolver
°´Ã¼ÀÇ ¾È³»¸¦ °£´ÜÇÏ°Ô ÇÏ·Á¸é,
ƯÈ÷ ´ëºÎºÐÀÇ Çà¿¡ °æÇÕÀÌ ¾ø´Â °æ¿ì¿¡
SyncResolver
ÀÎÅÍÆäÀ̽º·Î nextConflict
¸Þ¼µå ¹× previousConflict
¸Þ¼µå¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼µå´Â Àû¾îµµ 1°³ÀÇ °æÇÕÄ¡¸¦ Æ÷ÇÔÇÑ ÇุÀ» À̵¿ÇÕ´Ï´Ù. °è¼ÓµÇ¾î ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ¿¹øÈ£¸¦ ÁöÁ¤ÇØ, SyncResolver
ÀÇ getConflictValue
¸Þ¼µå¸¦ È£ÃâÇØ, °æÇÕÄ¡ ÀÚü¸¦ ÃëµæÇÕ´Ï´Ù. ´ÙÀ½ÀÇ ¼½¼ÇÀÇ ÄÚµåÀÇ ¹ßÃé¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
RowSet
°´Ã¼ crs
ÇÏÁö¸¸ ÀÚ½ÅÀ» ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿Í µ¿±â ÇÏ´Â °ÍÀ¸·Î °æÇÕÀ» ÇØ°áÇÏ´Â ¹æ¹ýÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. try
ºí·ÏÀ¸·Îcrs´Â acceptChanges
¸Þ¼µå¸¦ È£ÃâÇØ, Connection
°´Ã¼ con¸¦ °Ç³×ÁÖ°í ÀÖ½À´Ï´Ù. °æÇÕÀÌ ¾ø´Â °æ¿ì´Â ´ÜÁö crs
º¯°æÀÌ µ¥ÀÌÅÍ ¼Ò½º¿¡ Ãâ·ÂÇØÁý´Ï´Ù. ±×·¯³ª, °æÇÕÀÌ ÀÖ´Â °æ¿ì´Â acceptChanges
¸Þ¼µå°¡ SyncProviderException
°´Ã¼¸¦ Throw ÇØ, catch
ºí·ÏÀÌ À¯È¿ÇÏ°Ô µË´Ï´Ù. ÀÌ ¿¹¿¡¼´Â SyncResolver
°´Ã¼¸¦ »ç¿ëÇÑ ¸¹Àº ¹æ¹ý °¡¿îµ¥ 1
°³¸¦ ¼³¸íÇϰí ÀÖ¾î, SyncResolver
nextConflict
¸Þ¼µå¸¦ while
·çÇÁ·Î »ç¿ëÇϰí ÀÖ½À´Ï´Ù. nextConflict
ÀÌ false
¸¦ µ¹·ÁÁØ´Ù (SyncResolver
°´Ã¼ resolver¿¡ °æÇÕ ÇÏ´Â ÇàÀÌ ¾ø¾îÁø´Ù)¿Í ·çÇÁ°¡ Á¾·áÇÕ´Ï´Ù. ÀÌ Æ¯Á¤ÀÇ ÄÚµåÀÇ ¹ßÃé¿¡¼´Â resolver´Â °æÇÕÀ» °»½ÅÇÑ Çà (SyncResolver.UPDATE_ROW_CONFLICT
»óÅÂÀÇ Çà)¸¦ °Ë»öÇØ, ÀÌ ÄÚµåÀÇ ¹ßÃéÀÇ ³ª¸ÓÁöÀÇ ºÎºÐÀº, crs°¡ °»½ÅÀ» ½ÃµµÇ߱⠶§¹®¿¡ °æÇÕÀÌ ¹ß»ýÇÑ Çà¿¡ ´ëÇØ¼¸¸ ½ÇÇàµË´Ï´Ù.
resolver
Ä¿¼°¡ °»½Å °æÇÕÀÌ ÀÖ´Â ´ÙÀ½ÀÇ °æÇÕ ÇÏ´Â ÇàÀ¸·Î À̵¿ÇÑ ÈÄ, getRow
¸Þ¼µå´Â ÇöÀçÀÇ ÇàÀ» ³ªÅ¸³», CachedRowSet
°´Ã¼ crs
Ä¿¼´Â crs
ÀÇ ºñ±³ °¡´ÉÇÑ ÇàÀ¸·Î À̵¿ÇÕ´Ï´Ù. resolver¿Í
crs
ÀÇ ¾çÂÊ ¸ðµÎÀÇ ÇàÀÇ ¿·Î ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °Í¿¡ÀÇÇØ °æÇÕ Çϰí ÀÖ´Â °ªÀ» ÃëµæÇØ, ºñ±³ÇØ, º¸°ü À¯ÁöÇÏ´Â °ªÀ» °áÁ¤ÇÕ´Ï´Ù. ÀÌ ÄÚµåÀÇ ¹ßÃé¿¡¼´Â crs
ÀÇ °ªÀÌ ÇØ°á ÁöÀ½ÀÇ °ªÀ¸·Î ÇØ¼ ¼³Á¤µÈ °ªÀ̸ç, À̰ÍÀ» »ç¿ëÇØ, µ¥ÀÌÅÍ ¼Ò½ºÀÇ °æÇÕ ÇÏ´Â °ªÀÌ µ¡¾²±âµÇ´Â °ÍÀ»ÀǹÌÇÕ´Ï´Ù.
try {
crs.acceptChanges(con); } catch (SyncProviderException spe) { SyncResolver resolver = spe.getSyncResolver(); Object crsValue; // value in theRowSet
object Object resolverValue: // value in theSyncResolver
object Object resolvedValue: // value to be persistedwhile(resolver.nextConflict()) { if(resolver.getStatus() == SyncResolver.UPDATE_ROW_CONFLICT) { int row = resolver.getRow(); crs.absolute(row); int colCount = crs.getMetaData(). getColumnCount(); for(int j = 1; j <= colCount; j++) { if (resolver.getConflictValue(j) ! = null) { crsValue = crs.getObject(j); resolverValue = resolver.getConflictValue(j); . . . // compare crsValue and resolverValue to determine // which should be the resolved value (the value to persist) resolvedValue = crsValue; resolver.setResolvedValue(j, resolvedValue); } } } } }
ÇÊµå °³¿ä | |
---|---|
static int |
DELETE_ROW_CONFLICT
RowSet
°´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀÇ »èÁ¦¸¦ ½ÃÇàÇßÀ» ¶§, °æÇÕÀÌ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù. |
static int |
INSERT_ROW_CONFLICT
RowSet °´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ ÇàÀÇ »ðÀÔÀ» ½ÃÇàÇßÀ» ¶§, °æÇÕÀÌ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù. |
static int |
NO_ROW_CONFLICT
RowSet °´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀÇ °»½Å, »èÁ¦, ¶Ç´Â »ðÀÔÀ» ½ÃÇàÇßÀ» ¶§, °æÇÕÀº ¹ß»ýÇÏÁö ¾Ê¾Ò´ø °ÍÀ» ³ªÅ¸³». |
static int |
UPDATE_ROW_CONFLICT
RowSet °´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀÇ °»½ÅÀ» ½ÃÇàÇßÀ» ¶§, °æÇÕÀÌ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù. |
ÀÎÅÍÆäÀ̽º java.sql. ResultSet ·ÎºÎÅÍ »ó¼ÓµÈ Çʵå |
---|
CLOSE_CURSORS_AT_COMMIT,
CONCUR_READ_ONLY,
CONCUR_UPDATABLE,
FETCH_FORWARD,
FETCH_REVERSE,
FETCH_UNKNOWN,
HOLD_CURSORS_OVER_COMMIT,
TYPE_FORWARD_ONLY,
TYPE_SCROLL_INSENSITIVE,
TYPE_SCROLL_SENSITIVE |
¸Þ¼µå °³¿ä | |
---|---|
Object |
getConflictValue (int index)
ÀÌ SyncResolver °´Ã¼ÀÇ ÇöÀçÀÇ Çà¿¡ ÀÖ´Â ÁöÁ¤µÈ ¿ÀÇ °ªÀ» ÃëµæÇÕ´Ï´Ù. |
Object |
getConflictValue (String columnName)
ÀÌ SyncResolver °´Ã¼ÀÇ ÇöÀçÀÇ Çà¿¡ ÀÖ´Â ÁöÁ¤µÈ ¿ÀÇ °ªÀ» ÃëµæÇÕ´Ï´Ù. |
int |
getStatus ()
ÀÌ SyncResolver ÀÇ ÇöÀçÀÇ ÇàÀÇ °æÇÕ ½ºÅ×ÀÌÅͽº¸¦ ÃëµæÇÕ´Ï´Ù. |
boolean |
nextConflict ()
Ä¿¼¸¦ ÇöÀçÀÇ À§Ä¡·ÎºÎÅÍ, °æÇÕ ÇÏ´Â °ªÀ» Æ÷ÇÔÇÑ ´ÙÀ½ÀÇ ÇàÀ¸·Î À̵¿ÇÕ´Ï´Ù. |
boolean |
previousConflict ()
Ä¿¼¸¦ ÇöÀçÀÇ À§Ä¡·ÎºÎÅÍ, ÀÌ SyncResolver °´Ã¼³»ÀÇ ¾ÕÀÇ °æÇÕ ÇÏ´Â ÇàÀ¸·Î À̵¿ÇÕ´Ï´Ù. |
void |
setResolvedValue (int index,
Object obj)
obj¸¦, µ¿±â ÇÏ´Â RowSet °´Ã¼ÀÇ ÇöÀçÀÇ ÇàÀÇ ¿ index³»ÀÇ °ªÀ¸·Î ÇØ¼
¼³Á¤ÇÕ´Ï´Ù. |
void |
setResolvedValue (String columnName,
Object obj)
obj¸¦, µ¿±â ÇÏ´Â RowSet °´Ã¼ÀÇ ÇöÀçÀÇ ÇàÀÇ ¿ columnName³»
ÀÇ °ªÀ¸·Î ÇØ¼ ¼³Á¤ÇÕ´Ï´Ù. |
ÇʵåÀÇ »ó¼¼ |
---|
static final int UPDATE_ROW_CONFLICT
RowSet
°´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀÇ °»½ÅÀ» ½ÃÇàÇßÀ» ¶§, °æÇÕÀÌ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °»
½Å´ë»óÀÇ ÇàÀÇ °ªÀº, RowSet
°´Ã¼ÀÇ ÇØ´çÇÏ´Â ÇàÀÇ ¿øÀÇ °ª°ú´Â ´Ù¸¨´Ï´Ù. Áï, µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀº ÀüȸÀÇ µ¿±â 󸮵ڰ»½ÅµÇ¾ú´ÂÁö, »èÁ¦µÇ°í ÀÖ½À´Ï´Ù.
static final int DELETE_ROW_CONFLICT
RowSet
°´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀÇ »èÁ¦¸¦ ½ÃÇàÇßÀ» ¶§, °æÇÕÀÌ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °»½Å ´ë»óÀÇ ÇàÀÇ °ªÀº, RowSet
°´Ã¼ÀÇ ÇØ´çÇÏ´Â ÇàÀÇ ¿øÀÇ °ª°ú´Â ´Ù¸¨´Ï´Ù. Áï, µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀº ÀüȸÀÇ µ¿±â 󸮵ڰ»½ÅµÇ¾ú´ÂÁö, »èÁ¦µÇ°í ÀÖ½À´Ï´Ù.
static final int INSERT_ROW_CONFLICT
RowSet
°´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ ÇàÀÇ »ðÀÔÀ» ½ÃÇàÇßÀ» ¶§, °æÇÕÀÌ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù. ÀüȸÀÇ °»½ÅµÚ,
µ¥ÀÌÅÍ ¼Ò½º¿¡ »ðÀÔÇÏ·Á°í ÇÑ Çà°ú °°Àº ÁÖ۸¦ °¡Áö´Â ÇàÀÌ, À̹Ì
»ðÀԵǰí ÀÖ½À´Ï´Ù.
static final int NO_ROW_CONFLICT
RowSet
°´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀÇ °»½Å, »èÁ¦, ¶Ç´Â »ðÀÔÀ» ½ÃÇàÇßÀ» ¶§, °æÇÕÀº ¹ß»ýÇÏÁö ¾Ê¾Ò´ø °ÍÀ» ³ªÅ¸³». SyncResolver
³»ÀÇ °ª¿¡´Â null
°ªÀÌ Æ÷ÇԵ˴ϴٸ¸, À̰ÍÀº ÀÌ ÀºÇà³»¿¡
°æÇÕ
ÀÇ ÇØ°á¿¡ °ü·ÃµÈ Á¤º¸°¡ Æ÷ÇÔµÇÁö ¾ÊÀº °ÍÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù.
¸Þ¼µåÀÇ »ó¼¼ |
---|
int getStatus()
SyncResolver
ÀÇ ÇöÀçÀÇ ÇàÀÇ °æÇÕ ½ºÅ×ÀÌÅͽº¸¦ ÃëµæÇÕ´Ï´Ù. À̰ÍÀº °æÇÕÀÌ ¹ß»ýÇßÀ» ¶§ RowSet
¿À
ºêÁ¦Å©Æ®°¡ ½ÃÇàÇϰí ÀÖ´ø Á¶ÀÛÀ» ³ªÅ¸³À´Ï´Ù.
SyncResolver.UPDATE_ROW_CONFLICT
, SyncResolver.DELETE_ROW_CONFLICT
, SyncResolver.INSERT_ROW_CONFLICT
,
¶Ç´Â SyncResolver.NO_ROW_CONFLICT
¸î°³ÀÇ Á¤¼ö
Object getConflictValue(int index) throws SQLException
SyncResolver
°´Ã¼ÀÇ ÇöÀçÀÇ Çà¿¡ ÀÖ´Â ÁöÁ¤µÈ ¿ÀÇ °ªÀ» ÃëµæÇÕ´Ï´Ù. ÀÌ °ªÀÌ, °æÇÕÀÇ ¿øÀÎÀÌ µÇ¾ú´Ù
µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °ªÀÔ´Ï´Ù.
index
- ÀÌ SyncResolver
°´Ã¼ÀÇ ÀÌ ÀºÇà³»ÀÇ ¿À» ÁöÁ¤ÇÏ´Â int
. ÀÌ ¿·ÎºÎÅÍ, °æÇÕÀÇ ¿øÀÎÀÌ µÈ °ªÀ» ÃëµæÇÑ´Ù
SyncResolver
°´Ã¼ÀÇ ÇöÀçÀÇ ÇàÀÇ ÁöÁ¤µÈ ¿ÀÇ °ª
SQLException
- µ¥ÀÌ
Ÿº£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì
Object getConflictValue(String columnName) throws SQLException
SyncResolver
°´Ã¼ÀÇ ÇöÀçÀÇ Çà¿¡ ÀÖ´Â ÁöÁ¤µÈ ¿ÀÇ °ªÀ» ÃëµæÇÕ´Ï´Ù. ÀÌ °ªÀÌ, °æÇÕÀÇ ¿øÀÎÀÌ µÇ¾ú´Ù
µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °ªÀÔ´Ï´Ù.
columnName
-¿Í
ÀÇ SyncResolver
°´Ã¼ÀÇ ÀÌ ÀºÇà³»ÀÇ ¿À» ÁöÁ¤ÇÏ´Â String
°´Ã¼. ÀÌ ¿·ÎºÎÅÍ, °æÇÕÀÇ ¿øÀÎÀÌ µÈ °ªÀ» ÃëµæÇÑ´Ù
SyncResolver
°´Ã¼ÀÇ ÇöÀçÀÇ ÇàÀÇ ÁöÁ¤µÈ ¿ÀÇ °ª
SQLException
- µ¥ÀÌ
Ÿº£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì
void setResolvedValue(int index, Object obj) throws SQLException
RowSet
°´Ã¼ÀÇ ÇöÀçÀÇ ÇàÀÇ ¿ index³»ÀÇ °ªÀ¸·Î ÇØ¼
¼³Á¤ÇÕ´Ï´Ù. obj´Â ³»ºÎ¿¡¼ µ¥ÀÌÅÍ ¼Ò½º³»¿¡ °ªÀ¸·Î ÇØ¼ ¼³Á¤µË´Ï´Ù.
index
- ¿¹øÈ£¸¦ ÁöÁ¤ÇÏ´Â int
. ÀÌ ¿¿¡
º¸°ü À¯ÁöÇÏ´Â °ªÀ» ¼³Á¤ÇÑ´Ù
obj
- RowSet
°´Ã¼·Î ¼³Á¤µÇ¾î µ¥ÀÌÅÍ ¼Ò½º¿¡ ³²°ÜÁö´Â °ªÀ» ³ªÅ¸³»´Â Object
SQLException
- µ¥ÀÌ
Ÿº£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì
void setResolvedValue(String columnName, Object obj) throws SQLException
RowSet
°´Ã¼ÀÇ ÇöÀçÀÇ ÇàÀÇ ¿ columnName³»
ÀÇ °ªÀ¸·Î ÇØ¼ ¼³Á¤ÇÕ´Ï´Ù. obj´Â ³»ºÎ¿¡¼ µ¥ÀÌÅÍ ¼Ò½º³»¿¡ °ªÀ¸·Î ÇØ¼ ¼³Á¤µË´Ï´Ù.
columnName
- ¿À̸§À» ÁöÁ¤ÇÏ´Â String
°´Ã¼. ÀÌ ¿¿¡
º¸°ü À¯ÁöÇÏ´Â °ªÀ» ¼³Á¤ÇÑ´Ù
obj
- RowSet
°´Ã¼·Î ¼³Á¤µÇ¾î µ¥ÀÌÅÍ ¼Ò½º¿¡ ³²°ÜÁö´Â °ªÀ» ³ªÅ¸³»´Â Object
SQLException
- µ¥ÀÌ
Ÿº£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì
boolean nextConflict() throws SQLException
SyncResolver
°´Ã¼ÀÇ Ä¿¼´Â ÃʱâÀå
Å¿¡¼´Â ÃÖÃÊÀÇ °æÇÕ ÇÏ´Â ÇàÀÇ Àü¿¡ ÀÚ¸®¸Å±èµË´Ï´Ù. nextConflict()
¸Þ¼µåÀÇ ÃÖÃÊÀÇ È£Ãâ¿¡ÀÇÇØ ÃÖÃÊÀÇ °æÇÕ
ÇÏ´Â ÇàÀÌ ÇöÀçÀÇ ÇàÀÌ µË´Ï´Ù. 2¹øÂ°ÀÇ È£Ãâ¿¡ ÀÇÇØ 2¹øÂ°ÀÇ °æÇÕ ÇÏ´Â ÇàÀÌ ÇöÀçÀÇ ÇàÀÌ µÇ¾î, ÀÌÈÄ¿Í °°ÀÌ °è¼ÓµË´Ï´Ù.
nextConflict
¸Þ¼µå¿¡ÀÇ È£Ãâ¿¡ÀÇÇØ ÀÔ·Â ½ºÆ®¸²ÀÌ ¿·Á ÀÖÀ¸¸é, ¾Ï¹¬ÀûÀ¸·Î ´ÝÇôÁ®SyncResolver
°´Ã¼ÀÇ °æ°í üÀÎÀÌ ¼Ò°ÅµË´Ï´Ù.
true
, ±× ÀÌ»óÇàÀÌ ¾ø´Â °æ¿ì´Â false
SQLException
- µ¥ÀÌ
Ÿº£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â °á°ú ¼¼Æ®ÀÇ ÇüŰ¡ TYPE_FORWARD_ONLY
ÀÎ °æ¿ì
boolean previousConflict() throws SQLException
SyncResolver
°´Ã¼³»ÀÇ ¾ÕÀÇ °æÇÕ ÇÏ´Â ÇàÀ¸·Î À̵¿ÇÕ´Ï´Ù.
previousConflict
¸Þ¼µå¿¡ÀÇ È£Ãâ¿¡ÀÇÇØ ÀÔ·Â ½ºÆ®¸²ÀÌ ¿·Á ÀÖÀ¸¸é, ¾Ï¹¬ÀûÀ¸·Î ´ÝÇôÁ®SyncResolver
°´Ã¼ÀÇ °æ°í üÀÎÀÌ ¼Ò°ÅµË´Ï´Ù.
true
, °á°ú ¼¼Æ®ÀÇ ¹Û¿¡ ÀÖ´Â °æ¿ì´Â false
SQLException
- µ¥ÀÌ
Ÿº£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â °á°ú ¼¼Æ®ÀÇ ÇüŰ¡ TYPE_FORWARD_ONLY
ÀÎ °æ¿ì
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor¡¡ ¡¡ | ¸Þ¼µå | »ó¼¼: Çʵå | constructor¡¡ ¡¡ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.