|
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 the RowSet object
Object resolverValue: // value in the SyncResolver object
Object resolvedValue: // value to be persisted
while(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 µµ ÂüÁ¶ÇϽʽÿÀ.