|
|||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||
°³¿ä: ³»ºÎ Ŭ·¡½º | Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå |
XAResource ÀÎÅÍÆäÀ̽º´Â, X/Open CAE »ç¾ç (ºÐ»ê Æ®·£Àè¼Ç(transaction) ó¸®: XA »ç¾ç)¿¡ ±Ù°ÅÇÏ´Â ¾÷°èÇ¥ÁØÀÇ XA ÀÎÅÍÆäÀ̽ºÀÇ Java ¸ÅÇÎÀÔ´Ï´Ù.
XA ÀÎÅÍÆäÀ̽º´Â, ºÐ»ê Æ®·£Àè¼Ç(transaction) ó¸® (DTP) ȯ°æ¿¡¼ÀÇ ¸®¼Ò½º ¸Å´ÏÀú¿Í Æ®·£Àè¼Ç(transaction) ¸Å´ÏÀúÀÇ »çÀÌÀÇ ±Ô¾àÀ» Á¤ÀÇÇÕ´Ï´Ù. JDBC µå¶óÀ̹ö ¶Ç´Â JMS ÇÁ·Î¹ÙÀÌ´õ´Â ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ½ÇÀåÇØ, ±Û·Î¹ú Æ®·£Àè¼Ç(transaction)¿Í µ¥ÀÌŸº£À̽º ¶Ç´Â ¸Þ¼¼Áö ¼ºñ½º Á¢¼Óµ¿¾ÈÀÌ °ü·ÃÁþ°í¸¦ ¼Æ÷Æ®ÇÕ´Ï´Ù.
XAResource ÀÎÅÍÆäÀ̽º´Â, Æ®·£Àè¼Ç(transaction)°¡ ¿ÜºÎÀÇ Æ®·£Àè¼Ç(transaction) ¸Å´ÏÀú¿¡ ÀÇÇØ Á¦¾îµÇ´Â ȯ°æ¿¡¼, ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ÀÇÇØ »ç¿ëµÇ´Â ¸ðµç Æ®·£Àè¼Ç(transaction) ¸®¼Ò½º¿¡ ÀÇÇØ ¼Æ÷Æ®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¸®¼Ò½ºÀÇ ¿¹·Î¼´Â, µ¥ÀÌŸº£À̽º °ü¸® ½Ã½ºÅÛÀÌ ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº º¹¼öÀÇ µ¥ÀÌŸº£À̽º Á¢¼ÓÀ» °³ÀÔ½ÃÄÑ µ¥ÀÌÅÍ¿¡ ¾×¼¼½º ÇÒ ¼ö ÀÖ½À´Ï´Ù. °¢ µ¥ÀÌŸº£À̽º Á¢¼ÓÀº, Æ®·£Àè¼Ç(transaction) ¸Å´ÏÀú¿¡ ÀÇÇØ Æ®·£Àè¼Ç(transaction) ¸®¼Ò½º·Î¼ µî·ÏµË´Ï´Ù. Æ®·£Àè¼Ç(transaction) ¸Å´ÏÀú´Â, ±Û·Î¹ú Æ®·£Àè¼Ç(transaction)¿¡ °ü·ÃÇÏ´Â °¢ Á¢¼ÓÀÇ XAResource ¸¦ ÃëµæÇÕ´Ï´Ù. Æ®·£Àè¼Ç(transaction) ¸Å´ÏÀú´Â, start ¸Þ¼Òµå¸¦ »ç¿ëÇØ ±Û·Î¹ú Æ®·£Àè¼Ç(transaction)¸¦ ¸®¼Ò½º¿¡ °ü·ÃÁö¾î end ¸Þ¼Òµå¸¦ »ç¿ëÇØ Æ®·£Àè¼Ç(transaction)¿Í ¸®¼Ò½º°¡ °ü·ÃÁþ°í¸¦ ÇØÁ¦ÇÕ´Ï´Ù. ¸®¼Ò½º ¸Å´ÏÀú´Â, ±Û·Î¹ú Æ®·£Àè¼Ç(transaction)¸¦, start ¸Þ¼ÒµåÀÇ È£Ãâ°ú end ¸Þ¼ÒµåÀÇ È£Ã⵿¾È¿¡ ±× µ¥ÀÌÅÍ¿¡ ´ëÇØ¼ ½ÇÇàµÇ´Â ¸ðµç 󸮿¡ °ü·ÃÁþ½À´Ï´Ù.
Æ®·£Àè¼Ç(transaction)ÀÇ À§Å¹½Ã¿¡, ¸®¼Ò½º ¸Å´ÏÀú´Â, 2 ´Ü°èÀÇ À§Å¹ ÇÁ·ÎÅäÄÝ¿¡ µû¶ó, Æ®·£Àè¼Ç(transaction)¸¦ Áغñ, À§Å¹, ¶Ç´Â ·Ñ¹é(rollback) Çϵµ·Ï(µíÀÌ) Æ®·£Àè¼Ç(transaction) ¸Å´ÏÀú·ÎºÎÅÍ ÅëÁöµË´Ï´Ù.
ÇʵåÀÇ °³¿ä | |
static int |
TMENDRSCAN
ȸº¹ Áֻ縦 Á¾·áÇÕ´Ï´Ù. |
static int |
TMFAIL
È£ÃâÃøÀÌ °ü·ÃÁþ°í¸¦ ÇØÁ¦ÇØ, Æ®·£Àè¼Ç(transaction) ºê·£Ä¡(branch)¿¡ ·Ñ¹é(rollback) Àü¿ëÀÇ ¸¶Å©¸¦ ºÙÀÔ´Ï´Ù. |
static int |
TMJOIN
È£ÃâÃøÀÌ ±âÁ¸ÀÇ Æ®·£Àè¼Ç(transaction) ºê·£Ä¡(branch)¿¡ Âü°¡ÇÕ´Ï´Ù. |
static int |
TMNOFLAGS
TMNOFLAGS ¸¦ »ç¿ëÇØ, Ç÷¡±×Ä¡°¡ ¼±ÅõǾî ÀÖÁö ¾ÊÀº °ÍÀ» ³ªÅ¸³À´Ï´Ù. |
static int |
TMONEPHASE
È£ÃâÃøÀº 1 ´Ü°èÀÇ ÃÖÀûȸ¦ »ç¿ëÇϰí ÀÖ½À´Ï´Ù. |
static int |
TMRESUME
È£ÃâÃøÀº Áß´ÜµÈ Æ®·£Àè¼Ç(transaction) ºê·£Ä¡(branch)¿ÍÀÇ °ü·ÃÁþ°í¸¦ Àç°³Çϰí ÀÖ½À´Ï´Ù. |
static int |
TMSTARTRSCAN
ȸº¹ Áֻ縦 °³½ÃÇÕ´Ï´Ù. |
static int |
TMSUCCESS
È£ÃâÃø°ú Æ®·£Àè¼Ç(transaction) ºê·£Ä¡(branch)¿ÍÀÇ °ü·ÃÁþ°í¸¦ ÇØÁ¦ÇÕ´Ï´Ù. |
static int |
TMSUSPEND
È£ÃâÃøÀº Æ®·£Àè¼Ç(transaction) ºê·£Ä¡(branch)¿ÍÀÇ °ü·ÃÁþ°í¸¦ Áß´ÜÇϰí ÀÖ½À´Ï´Ù (Á¾·á´Â ¾Æ´Ï´Ù). |
static int |
XA_OK
Æ®·£Àè¼Ç(transaction) 󸮰¡ Á¤»óÀûÀ¸·Î ÁغñµÇ¾ú½À´Ï´Ù. |
static int |
XA_RDONLY
Æ®·£Àè¼Ç(transaction) ºê·£Ä¡(branch)¿¡¼´Â µ¶ÇØ ¹Û¿¡ ÇàÇØÁöÁö ¾Ê°í, À§Å¹µÇ¾ú½À´Ï´Ù. |
¸Þ¼ÒµåÀÇ °³¿ä | |
void |
commit (Xid xid,
boolean onePhase)
xid ·Î ÁöÁ¤µÈ ±Û·Î¹ú Æ®·£Àè¼Ç(transaction)¸¦ À§Å¹ÇÕ´Ï´Ù. |
void |
end (Xid xid,
int flags)
Æ®·£Àè¼Ç(transaction) ºê·£Ä¡(branch)¸¦ À§Çؼ(¶§¹®¿¡) ½ÇÇàµÈ 󸮸¦ Á¾·áÇÕ´Ï´Ù. |
void |
forget (Xid xid)
ÈÞ¸®½ºÆ½¿¡ °áÂøµÈ Æ®·£Àè¼Ç(transaction) ºê·£Ä¡(branch)¸¦ ¹«½ÃÇϵµ·Ï(µíÀÌ) ¸®¼Ò½º ¸Å´ÏÀú¿¡ ÅëÁöÇÕ´Ï´Ù. |
int |
getTransactionTimeout ()
ÀÌ XAResource ÀνºÅϽº¿¡ ´ëÇØ¼ ¼³Á¤µÈ ÇöÀçÀÇ Æ®·£Àè¼Ç(transaction) ŸÀÓ ¾Æ¿ôÄ¡¸¦ ÃëµæÇÕ´Ï´Ù. |
boolean |
isSameRM (XAResource xares)
ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇØ, Ÿ°Ù ¿ÀºêÁ§Æ®·Î ³ªÅ¸³»Áö´Â ¸®¼Ò½º ¸Å´ÏÀú ÀνºÅϽº°¡ ÆÄ¶ó¹ÌÅÍ xares ·Î ³ªÅ¸³»Áö´Â ¸®¼Ò½º ¸Å´ÏÀú ÀνºÅϽº¿Í °°ÀºÁö ¾î¶²Áö¸¦ ÆÇÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. |
int |
prepare (Xid xid)
xid ·Î ÁöÁ¤µÈ Æ®·£Àè¼Ç(transaction)ÀÇ Æ®·£Àè¼Ç(transaction) À§Å¹ÀÇ Áغñ¸¦ Çϵµ·Ï(µíÀÌ) ¸®¼Ò½º ¸Å´ÏÀú¿¡ ¿ä±¸ÇÕ´Ï´Ù. |
Xid [] |
recover (int flag)
¸®¼Ò½º ¸Å´ÏÀú·ÎºÎÅÍ, ÁغñµÈ Æ®·£Àè¼Ç(transaction) ºê·£Ä¡(branch)ÀÇ ¸®½ºÆ®¸¦ ÃëµæÇÕ´Ï´Ù. |
void |
rollback (Xid xid)
Æ®·£Àè¼Ç(transaction) ºê·£Ä¡(branch)¸¦ À§Çؼ(¶§¹®¿¡) ½ÇÇàµÈ 󸮸¦ ·Ñ¹é(rollback) Çϵµ·Ï(µíÀÌ) ¸®¼Ò½º ¸Å´ÏÀú¿¡ ÅëÁöÇÕ´Ï´Ù. |
boolean |
setTransactionTimeout (int seconds)
ÀÌ XAResource ÀνºÅϽºÀÇ ÇöÀçÀÇ Æ®·£Àè¼Ç(transaction) ŸÀÓ ¾Æ¿ôÄ¡¸¦ ¼³Á¤ÇÕ´Ï´Ù. |
void |
start (Xid xid,
int flags)
xid ·Î ÁöÁ¤µÈ Æ®·£Àè¼Ç(transaction) ºê·£Ä¡(branch)¸¦ À§ÇÑ Ã³¸®¸¦ °³½ÃÇÕ´Ï´Ù. |
ÇʵåÀÇ »ó¼¼ |
public static final int TMENDRSCAN
public static final int TMFAIL
public static final int TMJOIN
public static final int TMNOFLAGS
public static final int TMONEPHASE
public static final int TMRESUME
public static final int TMSTARTRSCAN
public static final int TMSUCCESS
public static final int TMSUSPEND
public static final int XA_RDONLY
public static final int XA_OK
¸Þ¼ÒµåÀÇ »ó¼¼ |
public void commit(Xid xid, boolean onePhase) throws XAException
xid
- ±Û·Î¹ú Æ®·£Àè¼Ç(transaction) ½Äº°ÀÚonePhase
- true ÀÇ °æ¿ì, ¸®¼Ò½º ¸Å´ÏÀú´Â 1 ´Ü°èÀÇ À§Å¹ ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇØ, xid ¸¦ À§Çؼ(¶§¹®¿¡) ÇàÇØÁø 󸮸¦ À§Å¹ÇÒ Çʿ䰡 ÀÖ´ÂXAException
- ¿¡·¯°¡ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³½´Ù. ÃëÇÒ ¼ö ÀÖ´Â XAException Ä¡´Â XA_HEURHAZ, XA_HEURCOM, XA_HEURRB, XA_HEURMIX, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, ¶Ç´Â XAER_PROTO
¸®¼Ò½º ¸Å´ÏÀú°¡ Æ®·£Àè¼Ç(transaction)¸¦ À§Å¹Çϰí ÀÖÁö ¾Ê°í, ÆÄ¶ó¹ÌÅÍ onePhase °¡ true ·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì, ¸®¼Ò½º ¸Å´ÏÀú´Â XA_RB* ¿¹¿ÜÀÇ 1 °³¸¦ ½½·Î¿ì ÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, µ¹¾Æ¿Ã ¶§¿¡, ¸®¼Ò½º ¸Å´ÏÀú´Â Æ®·£Àè¼Ç(transaction) ºê·£Ä¡(branch)ÀÇ Ã³¸®¸¦ ·Ñ¹é(rollback) ÇØ, º¸°ü À¯ÁöÇϰí ÀÖ´ø ¸ðµç ¸®¼Ò½º¸¦ ÇØ¹æÇß½À´Ï´Ù.
public void end(Xid xid, int flags) throws XAException
TMSUSPEND °¡ flags ·Î ÁöÁ¤µÇ¾î ÀÖ´Â °æ¿ì, Æ®·£Àè¼Ç(transaction) ºê·£Ä¡(branch)´Â ºÒ¿ÏÀüÇÑ »óÅ·ΠÀϽÃÀûÀ¸·Î Áߴܵ˴ϴÙ. Æ®·£Àè¼Ç(transaction) ¹®¸ÆÀº Áß´Ü »óÅÂÀ̸ç, TMRESUME ¸¦ ÁöÁ¤ÇÑ start ¸¦ °³ÀÔ½ÃÄÑ Àç°³ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
TMFAIL °¡ ÁöÁ¤µÇ¾î ÀÖ´Â °æ¿ì, ó¸® ºÎºÐÀº ½ÇÆÐÇß½À´Ï´Ù. ¸®¼Ò½º ¸Å´ÏÀú´Â, Æ®·£Àè¼Ç(transaction)¿¡ ·Ñ¹é(rollback) Àü¿ëÀÇ ¸¶Å©¸¦ ºÙÀÌ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
TMSUCCESS °¡ ÁöÁ¤µÇ¾î ÀÖ´Â °æ¿ì, ó¸® ºÎºÐÀº Á¤»óÀûÀ¸·Î ¿Ï·áÇß½À´Ï´Ù.
xid
- ÀÌÀü¿¡ start ¸Þ¼Òµå·Î »ç¿ëµÈ ½Äº°ÀÚ¿Í °°Àº ±Û·Î¹ú Æ®·£Àè¼Ç(transaction) ½Äº°ÀÚflags
- TMSUCCESS, TMFAIL, TMSUSPEND ÀÇ ¾î´ÀÂÊÀ̵çXAException
- ¿¡·¯°¡ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³½´Ù. ÃëÇÒ ¼ö ÀÖ´Â XAException Ä¡´Â, XAER_RMERR, XAER_RMFAILED, XAER_NOTA, XAER_INVAL, XAER_PROTO, ¶Ç´Â XA_RB*public void forget(Xid xid) throws XAException
xid
- ±Û·Î¹ú Æ®·£Àè¼Ç(transaction) ½Äº°ÀÚXAException
- ¿¡·¯°¡ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³½´Ù. ÃëÇÒ ¼ö ÀÖ´Â ¿¹¿ÜÄ¡´Â, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, ¶Ç´Â XAER_PROTOpublic int getTransactionTimeout() throws XAException
XAResource.setTransactionTimeout
°¡ »ç¿ëµÇ¾î ÀÖÁö ¾Ê¾Ò´ø °æ¿ì, ¹Ýȯ°ªÀº ¸®¼Ò½º ¸Å´ÏÀú¿¡ ´ëÇØ¼ ¼³Á¤µÈ µðÆúÆ®ÀÇ Å¸ÀÓ ¾Æ¿ôÀÌ µË´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â, ÀÌÀüÀÇ setTransactionTimeout
È£Ãâ·Î »ç¿ëµÈ °ªÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù. XAException
- ¿¡·¯°¡ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³½´Ù. ÃëÇÒ ¼ö ÀÖ´Â ¿¹¿ÜÄ¡´Â XAER_RMERR ¶Ç´Â XAER_RMFAILpublic boolean isSameRM(XAResource xares) throws XAException
xares
- Ÿ°Ù ¿ÀºêÁ§Æ®ÀÇ ¸®¼Ò½º ¸Å´ÏÀú ÀνºÅϽº¶ó°í ºñ±³µÇ´Â ¸®¼Ò½º ¸Å´ÏÀú ÀνºÅϽº¸¦ °¡Áö´Â XAResource ¿ÀºêÁ§Æ®XAException
- ¿¡·¯°¡ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³½´Ù. ÃëÇÒ ¼ö ÀÖ´Â ¿¹¿ÜÄ¡´Â XAER_RMERR ¶Ç´Â XAER_RMFAILpublic int prepare(Xid xid) throws XAException
xid
- ±Û·Î¹ú Æ®·£Àè¼Ç(transaction) ½Äº°ÀÚXAException
- ¿¡·¯°¡ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³½´Ù. ÃëÇÒ ¼ö ÀÖ´Â ¿¹¿ÜÄ¡´Â, XA_RB*, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, ¶Ç´Â XAER_PROTOpublic Xid [] recover(int flag) throws XAException
flag
- flags ¿¡ ´Ù¸¥ Ç÷¡±×°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â, TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS, TMNOFLAGS ÀÇ ¾î´ÀÂÊÀ̵çÀ» »ç¿ëÇÒ Çʿ䰡 ÀÖ´ÂXAException
- ¿¡·¯°¡ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³½´Ù. ÃëÇÒ ¼ö ÀÖ´Â °ªÀº, XAER_RMERR, XAER_RMFAIL, XAER_INVAL, ¶Ç´Â XAER_PROTOpublic void rollback(Xid xid) throws XAException
xid
- ±Û·Î¹ú Æ®·£Àè¼Ç(transaction) ½Äº°ÀÚXAException
- ¿¡·¯°¡ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³½´Ùpublic boolean setTransactionTimeout(int seconds) throws XAException
ÀÌ XAResource
ÀνºÅϽºÀÇ ÇöÀçÀÇ Æ®·£Àè¼Ç(transaction) ŸÀÓ ¾Æ¿ôÄ¡¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ Å¸ÀÓ ¾Æ¿ôÄ¡´Â, ÇÑ ¹ø ¼³Á¤µÇ¸é(ÀÚ), ´Ù¸¥ °ªÀ» »ç¿ëÇØ setTransactionTimeout
°¡ ÀçÂ÷ ºÒ·Á °¥ ¶§±îÁö À¯È¿ÇÕ´Ï´Ù. ŸÀÓ ¾Æ¿ôÄ¡¸¦ ¸®¼Ò½º ¸Å´ÏÀú·Î »ç¿ëµÇ´Â µðÆúƮġ¿¡ ¸®¼ÂÆ® ÇÏ·Á¸é , °ªÀ» Á¦·Î·Î ¼³Á¤ÇÕ´Ï´Ù. ŸÀÓ ¾Æ¿ô Á¶ÀÛÀÌ Á¤»óÀûÀ¸·Î ½ÇÇàµÇ¸é(ÀÚ), ÀÌ ¸Þ¼Òµå´Â true ¸¦ µ¹·ÁÁÖ¾î, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false ¸¦ µ¹·ÁÁÝ´Ï´Ù. ¸®¼Ò½º ¸Å´ÏÀú°¡ Æ®·£Àè¼Ç(transaction) ŸÀÓ ¾Æ¿ôÄ¡ÀÇ ¸í½ÃÀûÀÎ ¼³Á¤À» ¼Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â °æ¿ì´Â,false ¸¦ µ¹·ÁÁÝ´Ï´Ù.
seconds
- Æ®·£Àè¼Ç(transaction) ŸÀÓ ¾Æ¿ôÄ¡ (ÃÊ´ÜÀ§)XAException
- ¿¡·¯°¡ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³½´Ù. ÃëÇÒ ¼ö ÀÖ´Â ¿¹¿ÜÄ¡´Â XAER_RMERR, XAER_RMFAIL, ¶Ç´Â XAER_INVALpublic void start(Xid xid, int flags) throws XAException
xid
- ¸®¼Ò½º¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ´Â ±Û·Î¹ú Æ®·£Àè¼Ç(transaction) ½Äº°ÀÚflags
- TMNOFLAGS, TMJOIN, ¶Ç´Â TMRESUME ÀÇ ¾î´ÀÂÊÀ̵çXAException
- ¿¡·¯°¡ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³½´Ù. ÃëÇÒ ¼ö ÀÖ´Â ¿¹¿ÜÄ¡´Â, XA_RB*, XAER_RMERR, XAER_RMFAIL, XAER_DUPID, XAER_OUTSIDE, XAER_NOTA, XAER_INVAL, ¶Ç´Â XAER_PROTO
|
|||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||
°³¿ä: ³»ºÎ Ŭ·¡½º | Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor¡¡ ¡¡ | ¸Þ¼Òµå |