jta.book

Similar documents
time.book

cluster.book

wlec.book

secwlres.book

cluster.book

ÊÈÌÊ fêôöôï Ö É É ~ Œ ~ Œ ÈÍÉÆÍ s Ê É Â Ê ÉÉÆÍÇÉ Ê Ê É Ê ÈÍv ÈÍ É ÈÍ Â ÇÍ vèé Ê Ê É ÈÉËÈÆ ÊÌÉ Ê~Æ Ê Ê ÈÍfÆ Ê ÊÉÆÉÊ Ê Ê ÈÍ Ê ÈÉËÈÆ

interop.book

<4D F736F F D BB388E78CA48B B E6338AAA2B92B290AE2B E646F63>

„¤‰ƒ‰IŠv‚æ‡S−ª†{“Å‘IB5-97

< F31332D8B638E FDA8DD E F1292E6A>

<4D F736F F D EC08E7B8FF38BB BD90AC E A837A815B B83578C668DDA97702E646F63>

<4D F736F F D208B7B8DE890BC5F90E096BE8E9197BF5F2D F4390B32E646F63>

<4D F736F F D BB388E78CA48B B E6328AAA D655F92B290AE82B382E782C E646F63>

snmpman.book

WebLogic File Services ユーザーズ ガイド

„¤‰ƒ‰IŠv‚æ‡S−ª†{“Å‘IB5-97

Ò ÑÔÏÓ ÐÎ ÆÉ z uññòõ w g ÌÊÉÇÍ ˆ ˆ Ð Ö Ò z Ò ÑÔÏÓ Ð ÓÑÐÒÒ ÎÔÖÏÖ ÎÖÐÖÑÕ uôöðöõ Î~ËÍÂÌÉÂ ÑÑÒÕÊ ÉÊÍ ÌÆÇÇ Î Ê ÈÂÊÈÇÊÓÑÐÒÒ ÇÂ z uêèéæíçî ÍÇÊÈÍÂ t Ê Ç ÈÍÂ Â

file.book

untitled

Microsoft Word Summit E XL Japanese manual 1.5.doc

applets.book

Microsoft Word - p2-11堀川先生_紀要原稿_ final.doc

Microsoft Word - 99

fm

<4D F736F F D2088CF88F589EF8E9197BF816991E596EC927C A2E646F63>

<4D F736F F D2088CF88F589EF8E9197BF81698CA28E9490E78DCE816A2D312E646F63>

<4D F736F F D2088CF88F589EF8E9197BF F690EC816A2E646F63>

untitled

Microsoft Word - ’ìfià„GflV‘é“ÄŁ]›¿0909.doc

obs_usersguide.book

b2bintro.book

Microsoft Word - 484号.doc

jconnector.book

jmx.book

fm

admin_domain.book

Microsoft Word - kawanushi 1.doc

<4D F736F F D2092B28DB882C982C282A282C42E646F63>

Microsoft Word _Rev01-jp.doc

ejb.book

jdbc.book

support.book

Microsoft Word - ’V‘é−gŁš.doc

untitled

<4D F736F F D F8DE98BCA8CA797A78FAC8E9988E397C3835A E815B82CC8A E646F63>

Microsoft Word - p12-21紀要論文_ジョさん_0908.doc

Microsoft Word - 99

„¤‰ƒ‰IŠv‚æ‡S−ª†{“Å‘IB5-97

ÍÂ~ÊÂ ÊÊ ÇÍ ÌÉÊÊÌÊÇÍÂÈÍ Ê ÊÌÊÊÍÉÉÉÆÉÉÍÆÂsÊÂ ÌÉÊ~ÊsÊÆÇ ÉÉÊsÆÍÆÊÉ~ÇÈÉÇÉÉÊsÉÆÆjÇÆÇÉÉÉÆÉÉÍ ÆÂ ÊÊÍÉÂÇÍÌÉÊsÊÊÇÉÂÊÍÍÉwÊÊÂÌÉ t ÊwÎÔ ÑÊÔÖÏÑ Ö Ñ ÑÒÔÇ ÈÍÍÇÉÊÊÍÂÇ

<4D F736F F D F8DE98BCA8CA797A78FAC8E9988E397C3835A E815B82CC8A E646F63>

Microsoft Word _jap .doc

rmi.book

< F31332D817992B48DC A8CCB8E9F81458CA28E942E6A7464>

Microsoft Word - −C−…−gŁš.doc

install.book

<4D F736F F D20835E A83415F967B95B631322E348B65926E8F4390B381698DC58F49816A>

upgrade.book

Microsoft Word - C.....u.K...doc

Microsoft Word - TR4_Effort.doc

intro.book

Microsoft Word - AS017U.b......_...j.doc

<4D F736F F D F8DE98BCA8CA797A78FAC8E9988E397C3835A E815B82CC8A E646F63>

(WP)

‰IŠv9802 (WP)

ロシア語ハラショー

plugins.book

<4D F736F F D F8DE98BCA8CA797A78FAC8E9988E397C3835A E815B82CC8A E646F63>

fm

WebLogic Event ユーザーズ ガイド(非推奨)

jcom.book

aiuser.book

ロシア人の名前

Microsoft Word - GrCadSymp1999.doc

untitled

Microsoft Word - GraphLayout1-Journal-ver2.doc

diplugin.book

<45532D C8D5CEC4B0E6CBB5C3F7CAE92E504446>

Microsoft Word _030510_Transcosmos_J.doc

<45532D C8D5D3EFCBB5C3F7CAE92E706466>

rmi_iiop.book

< D C8D5D3EFB0E6CBB5C3F7CAE92E706466>

fm

migrate.book

< D C8D5CEC4B0E6CBB5C3F7CAE92E706466>

<4D F736F F D F8DE98BCA8CA797A78FAC8E9988E397C3835A E815B82CC8A E646F63>

jms.book

rosnet.book

Ê u g } }{ ~ Ê Blue Tooth Ì d LAN ÊÊÊ sèííöïõöñ~ Ê Ê y ÑÔ ÑÎ ÉÈ ÑÑÒÕ LSI Ç ÌÍÍÉÆÍ ÑÑÒÕ LSI séê ÇÍÌÉt Ê LSI Ì É ÈÍÉÆÉÌÊÎ ÈÍ séæí }ÊÑÑÒÕ LSI Ê CMOS ÒÓÏÑ

hyousi.fm

Microsoft Word - LDMCR2002.doc

logging.book

RI850V4 V2 リアルタイム・オペレーティング・システム ユーザーズマニュアル 解析編

Oracle Application Server 10g Release 3(10.1.3)- アジャイル・エンタープライズ(俊敏な企業)のためのデータ・アクセス

Ë,, ÌÓ ÏÓÈ ÂÈ? ÚÓÚ, ÚÓÚ

b2bsampl.book

(%) (%) WECPNL WECPNL WECPNL WECPNL

ロシア語便覧 1

comtools.book

980459_P330i_Printer.book

Microsoft Word - IPSJZen itot-pub.doc

Transcription:

BEAWebLogic Server WebLogic JTA ÔÖÐ ÖÔ Ñ ÏÏÒ BEA WebLogic Server Ó ÑÕ 7.0 ÔÓÕÎÖÊ u : 2004 10 26

m Copyright 2002, BEA Systems, Inc. All Rights Reserved. ÑÔÒÏÏÎÆÍËÔÓÕÎÖÊÂBEA Systems, Inc. Ê Ó Ï Ï ÑÑÒÕÑ ( ÂÃBEAÃÉÆÆÌÈ ) Ê vw Ê ÉÆÉ ÈÍÂÈÊ Ê ÈÍ ÊÊÌ ÈÍÇÉÇÉÇÂ Ê ~ÍÊÊÌ ÌÉÊÐÓ ÈÍÇÉÇÉÇÌÈÂ É Êv ÈÍÉÆÍ Ê É ÑÔÒÏÏÎÎÐÓ ÈÍÇÉÊ Ê~ È ÌÈÂÇÊÔÓÕÎÖÊÿÌÉÊ ÎÂBEA ÇÍÊ ˆÊÍÍ Ê ÊÈÊÂt Ât tâfvâæíæêæçêí ÌÉÊ w ËÊ ÌsÆÇÉÊÉÇÌÈΠÊÍÍ ÂttÌÈÇÊ ÊÂBEA Ê vw ÂÆÍË FAR 52.227-19 Ê ÃCommercial Computer Software-Restricted Rightsà ÊÐÔÓÖÐÖÔ (c)(1)âdfars 252.227-7013 ÊÃRights in Technical Data and Computer Softwareà ÊÐÔÓÖÐÖÔ (c)(1)(ii) ÂNASA FAR t 16-52.227-86 ÊÃCommercial Computer Software--LicensingÃ Ê ÐÔÓÖÐÖÔ (d)âìèçêèííé Ê É ÌÍ Ê yéêíìèâ ÇÊÔÓÕÎÖÊv ÈÍÉÆÍ Ê ÊÇ ÈÍÍÇÉÇÆÍÂÌÉ BEA ÊÍÍy Î ÈÍÌÊÉÊÆÍÌÈΠÑÔÒÏÏÎÆÍËÔÓÕÎÖÊà ÊÌÌà ÈÍÂ Ì ~ËÊ Î ÌÉÈÍ ( ÉÉÈÂÇÍÍÊÊ ÈÍÊÆ ) ÆÇÊÍ ŠÊ vì ÆÌÈÎÂÈÍÊÂBEA Ê  È Š ÊÊÊÉÆÉ ÑÔÒÏÏÎÌÉ ÊÔÓÕÎÖÊ ÌÈÇÊ Ê ÈÉÆÇÊÍ Â vâæíæês ÌsÆÌÈΠÌÉÊ ƒ BEAÂJoltÂTuxedoÂÆÍË WebLogic Ê BEA Systems, Inc. Ê ƒ ÉÈÂBEA BuilderÂBEA Campaign Manager for WebLogicÂBEA elink, BEA ManagerÂBEA WebLogic Commerce Server BEA WebLogic EnterpriseÂBEA WebLogic Enterprise PlatformÂBEA WebLogic ExpressÂBEA WebLogic IntegrationÂBEA WebLogic Personalization ServerÂBEA WebLogic PlatformÂBEA WebLogic PortalÂBEA WebLogic ServerÂBEA WebLogic Workshop ÆÍË How Business Becomes E-Business ÊÂBEA Systems, Inc Ê ÉÈ ÈÊ Ê ÊÈËÉ ÇÈÊ Î ÈÌÈ WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ Ó Ò ÔÓÕÎÖÊ ÑÔÒÏÏÎÊÓ ÑÕ ÊÈ 2002 9 6 BEA WebLogic Server Ó ÑÕ 7.0

目次 ÇÊÔÓÕÎÖÊ ywf...viii e-docs Web ÐÏÒ...viii ÇÊÔÓÕÎÖÊ...viii ÐÔ Ò...ix svu... x 1. ÒÖ ÐÐÑÕ ÊÉÆÉ WebLogic Server ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ Ê u...1-1 ÒÖ ÐÐÑÕ Ê ACID ÔÖÓÒÏ...1-1 ÐÔ ÒÈÍÉÆÍÔÖÐÖÕ Ð ÕÒÖ...1-2 ÐÔ ÒÈÍÉÆÍ API ÕÒÖ...1-2 ÒÖ ÐÐÑÕ É 2 ÔÏ Ñ ÐÕÒÒ ÔÖÒÐÖ...1-3 ÓÑÓÑ ÒÖ ÐÐÑÕ ÊÐÔ Ò...1-4 ÊÊÍÆÊ É ÈÍÊÇ...1-5 ÒÖ ÐÐÑÕ Î ÈÊÆ...1-6 ÒÖ ÐÐÑÕ Ê Ì...1-7 WebLogic Server EJB ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ...1-7 Ð ÒÒ ÊÒÖ ÐÐÑÕ...1-8 Bean ÊÒÖ ÐÐÑÕ...1-9 WebLogic Server RMI ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ...1-10 ÒÖ ÐÐÑÕ ÊÐ ÔÖ Ð Ò...1-12 ÒÖ ÐÐÑÕ ÊÐ ÔÖ EJB Ð Ò...1-12 ÓÒÐ ÑÎÏ Ô ÒÈÍ...1-13 JNDI Î ÈÉÏÔÑÏÐÒ Î}È...1-14 ÒÖ ÐÐÑÕ Î ÈÍ...1-14 ÒÖ ÐÐÑÕ Î ÈÍ...1-15 ÒÖ ÐÐÑÕ ÊÐ ÔÖ RMI Ð Ò...1-15 ÓÒÐ ÑÎÏ Ô ÒÈÍ...1-16 JNDI Î ÈÉ UserTransaction ÏÔÑÏÐÒËÊÏÔÑÏÐÒ Î}È...1-17 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ iii

ÒÖ ÐÐÑÕ Î ÈÍ...1-17 ÒÖ ÐÐÑÕ Î ÈÍ...1-18 2. ÒÖ ÐÐÑÕ ÊÐ ÔÏÐÖ ÑÕ É ÒÖ ÐÐÑÕ ÊÐ ÔÏÐÖ ÑÕ...2-1 ÒÖ ÐÐÑÕ ÊÕÓÑ...2-2 ÖÐ Ð...2-2 ÕÓÑ...2-2 ÒÖ ÐÐÑÕ ÖÑ Ñ ÔÓ ÑÕÊ~...2-3 3. ÒÖ ÐÐÑÕ Ð ÓÑ ÒÖ ÐÐÑÕ Ð ÓÑÊÉÆÉ...3-1 hé...3-2 ÐÖÏÎ ÒÉ vðõòò...3-2 ÐÖÏÎ ÒÇ ÈÍÒÖ ÐÐÑÕ...3-3 ÒÖ ÐÐÑÕ Ê...3-3 ÒÖ ÐÐÑÕ Ê...3-3 ÔÖÒÒ ÒÖ ÐÐÑÕ...3-4 ÒÖ ÐÐÑÕ Ð ÓÑÊÒÖ ÐÐÑÕ ÉÊ...3-4 ÔÖÒÑÖÒÒ ÒÖ ÐÐÑÕ ÐÖÏÎ ÒÊÐÔ Ò...3-5...3-5 ÒÖ ÐÐÑÕ ÊÑÐ Ô...3-5 EJB ÎÔÖÐ ÑÕ ÉÊÒÖ ÐÐÑÕ Ð ÓÑ...3-6 RMI ÎÔÖÐ ÑÕ ÉÊÒÖ ÐÐÑÕ Ð ÓÑ...3-7 4. Java Transaction API É BEA WebLogic Ê h JTA API Ê u...4-1 JTA Ê ÈÍ BEA WebLogic Ê h...4-2 5. EJB ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ ÌÍ Ê...5-2 ÏÏÒÖÏ...5-2 ÒÖ ÐÐÑÕ...5-3 EJB ÊÒÖ ÐÐÑÕ ÊÉÆÉ...5-3 Ð ÒÒ ÊÒÖ ÐÐÑÕ ÊÒÖ ÐÐÑÕ...5-4 Bean ÊÒÖ ÐÐÑÕ ÊÒÖ ÐÐÑÕ...5-5 iv WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

ÒÖ ÐÐÑÕ ËÊ...5-6 ÒÖ ÐÐÑÕ ÑÔ ÒÏÐÑ...5-6 Ð ÒÒ ÊÒÖ ÐÐÑÕ ÊÒÖ ÐÐÑÕ ÑÔ ÒÏÐÑ 5-7 ÑÒ ÒÔÖ ÑÒÑÕ Bean ÊÒÖ ÐÐÑÕ ÑÔ ÒÏÐÑ 5-7 ÑÒ ÒÖÑ ÑÒÑÕ Bean ÊÒÖ ÐÐÑÕ ÑÔ ÒÏÐÑ 5-8 Ï ÒÏÒÏ Bean ÊÒÖ ÐÐÑÕ ÑÔ ÒÏÐÑ...5-8 Bean ÊÒÖ ÐÐÑÕ ÊÒÖ ÐÐÑÕ ÑÔ ÒÏÐÑ...5-9 ÑÒ ÒÔÖ ÑÒÑÕ Bean ÊÒÖ ÐÐÑÕ ÑÔ ÒÏÐÑ 5-10 ÑÒ ÒÖÑ ÑÒÑÕ Bean ÊÒÖ ÐÐÑÕ ÑÔ ÒÏÐÑ 5-11 ÑÒÑÕ Ê...5-11 ÒÖ ÐÐÑÕ Ê...5-12 ÒÖ ÐÐÑÕ ÑÏÕÎÏÒÊv...5-12 EJB ÒÖ ÐÐÑÕ ÉÊ...5-13 6. RMI ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ ÌÍ Ê...6-1 ÏÏÒÖÏ...6-1 7. WebLogic Server ÉÊÐ ÒÓ ÒÏ JDBC XA ÒÖÏÓ Ê Æ Ð ÒÓ ÒÏ XA ÒÖÏÓÊ u...7-1 Ð ÒÓ ÒÏ XA ÒÖÏÓÊs...7-1 Ð ÒÓ ÒÏ ÒÖÏÓÊÐ ÔÏÐÖ ÑÕ ÉÓÔÏ Ô Ñu.7-2 Oracle Thin/XA ÒÖÏÓÊ Æ...7-3 Oracle Thin/XA ÒÖÏÓÊÑÔÒÏÏÎu...7-3 Oracle Thin 8.1.7/XA ÒÖÏÓÊ v ÌÊ Š...7-4 Oracle Thin/XA ÒÖÏÓÊ Êv...7-8 Oracle Thin/XA ÒÖÏÓÊÐ ÔÏÐÖ ÑÕ ÔÖÓÒÏ...7-9 Sybase jconnect 5.5/XA ÒÖÏÓÊ Æ...7-10 Sybase jconnect 5.5/XA ÒÖÏÓÊ v ÌÊ Š...7-10 Sybase jconnect/xa ÒÖÏÓÊ Êv...7-10 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ v

Sybase jconnect 5.5/XA ÒÖÏÓÊ Ô Ö...7-11 Java ÐÖÏÎ ÒÊÐ ÔÏÐÖ ÑÕ ÔÖÓÒÏ...7-13 ÈÊ ÊÐ ÒÓ ÒÏ XA ÒÖÏÓ...7-13 8. WebLogic Server XA ÖÑ Ñ ÔÖÓÏÑÊu u...8-1 ÒÖ ÐÐÑÕ ÔÓ ÑÕËÊ ƒ...8-2 XAResource Ê Éu...8-3 ˆ Ê Éu...8-3 Ê Éu...8-4 ÏÔÑÕ Ê weblogic.transaction.xaresource Ï ÑÔÏ Ñ...8-5 9. ÒÖ ÐÐÑÕ ÊÒÖÔÖÑÕ ÒÏ Ð u...9-1 ÒÖÔÖÑÕ ÒÏ Ð Ò Ö...9-1...9-2 ÒÖ ÐÐÑÕ x...9-2 ÒÖ ÐÐÑÕ Ê ÉÔÖÓÒÏ...9-3 ÒÖ ÐÐÑÕ ÑÒ ÑÑ...9-3 ÒÖ ÐÐÑÕ Ê v...9-4 ÒÖ ÐÐÑÕ ÊÕÓÑÉÖÐ Ð...9-4 ÒÓÒÐÊÓ Ò...9-4 A. w vi WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

このマニュアルの内容 ªªª ª BEA WebLogic Server TM EJB RMI ª ª ªªª ª ª ª ª ªªªª ª ª w ªª ª ª 1 ª ªªªªª ª ª WebLogic Server EJB RMI ª ª ªªª ª ª ª ªªªªª ª ª w ªªªªª ª ªªªªªªª ªªªªªªª ª 2 ª ªª ª ªªª ªª ª ªª w 2 ª ªªªªª ª ª ªªª ªªªª ª ª WebLogic Server ª ª ªª ª ª ª ª w 3 ª ªªªªª ª ª ªªª ª WebLogic Server ªªªªª ªªª ªªª ª w 4 Java Transaction API BEA WebLogic h Java Transaction API (JTA) u w 5 EJB ª ª ªªª ª ª ª ª ªªª ª ª ª EJB ª ª ªª ª ª ª ª ª ªª ª ª ª ª t w 6 RMI ª ª ªªª ª ª ª ªªªªª ª ª RMI ª ª ªªª ª ª ª ªªªªª ª ª t w 7 WebLogic Server ªª ªªªª JDBC XA ª ª ª ªª ª ªªª t XA ªª ª ªªª ªªªªªª ª ªª ªªª ª ª w 8 WebLogic Server XA ªªªª ªªª ª u WebLogic Server ª ª ªª ª ª ª ª XA ª ªªª u w ªª ª ªªª ªªªªªªª ªªªªªª y WebLogic JTA ªªªªªªª ª vii

9 ª ªªªªª ª ª ª ªªªªªªª ªª JTA ªª ªªª ª ª ª ªªªªªªª ªª ª ª ª s w ywf ªªª ª WebLogic Server ªªª ª ª ªª ª ªªªª ªªª Java ª ª ªªª ª ª ª ª ªªª ª ª f y WebLogic Server ªª ª ª ª ªª Java TM 2 Enterprise Edition (J2EE) ªª ª ª ª ªª ª ª ªª ª ª ª ª wf ~ e-docs Web ª ª BEA t ª ª ª ª ª ª BEA Web ª ª BEA ªª ª ªªª [ t ª ª ª ª ª ª ] ªªªª WebLogic Server t ª ª ª ª ª ª ªªª (http://edocs.beasys.co.jp/e-docs/wls/docs70) s ªª ª ª Web ªª ª [ ª ª ] ªª ª ª Web ªª ª ªª ª ª ÿ 1 ªªª ª PDF WebLogic Server Web ª ª PDF Adobe Acrobat Reader ªª ª ª ( ÿ ) PDF s WebLogic Server ªªªªªª ªªª ªªª [ ªªªªªª ª ªªªª ] ªªªª ªª ª ª viii WebLogic JTA ªªªªªªª ª

Adobe Acrobat Reader Adobe Web ª ª (http://www.adobe.co.jp) ªªª ª BEA ª ªª ª ª ª ªªª ª ª ªªª ª ˆ u z u ª ªª docsupport-jp@beasys.com ~ u ªªªªªª u BEA f ~ ª ªª ª ª ªªª ª ª ª ªªª ª ª ªª ª ª ª ª ª ªªª ª ª BEA WebLogic Server BEA WebLogic Server ª ª ª ªª Š BEA WebSupport (www.bea.com) ~ BEA ªªª ªªª ª ª ª ª ªªªª ~ t ª ª ªªª ª ª ª ªªª ª ªª v ªªª ªªª ª ª ªª ª ª ª v ª ª ª ªª ª t ªªª ª ª Š s ª ª ªªªªª WebLogic JTA ªªªªªªª ª ix

svu ªª ª ª ~ svu sv Ctrl + Tab ÒÐÑÒ Ê Ò ÐÑÒ ªªª ª t ªª w ª ª ª ªªª ªªªª ªªªª ªª ª ª Java ªªª ªª ª ª ªªªª ª ª ªªª ª ªªªªª ªªª ª : import java.util.enumeration; chmod u+w * config/examples/applications.java config.xml float ªªª : String CustomerName; ªª ª w : LPT1 BEA_HOME OR { } t g x WebLogic JTA ªªªªªªª ª

sv [ ] : java utils.multicasttest -n name -a address [-p portnumber] [-t timeout] [-s send] g : java weblogic.deploy [list deploy undeploy update] password {application} {source}... ªªªª ª ª t e } ªª ªªª ~... ªªª ªªªª WebLogic JTA ªªªªªªª ª xi

xii WebLogic JTA ªªªªªªª ª

1 トランザクションについて ÇÊ ÉÊ Ê ÊÉÆÉw ÈÌÈÂ WebLogic Server ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ Ê u ÊÊÍÆÊ É ÈÍÊÇ ÒÖ ÐÐÑÕ Ê Ì ÒÖ ÐÐÑÕ ÊÐ ÔÖ Ð Ò WebLogic Server ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ Ê u ÇÊ Ê Ê ÊÉÆÍÉÈÂ ÒÖ ÐÐÑÕ Ê ACID ÔÖÓÒÏ ÐÔ ÒÈÍÉÆÍÔÖÐÖÕ Ð ÕÒÖ ÐÔ ÒÈÍÉÆÍ API ÕÒÖ ÒÖ ÐÐÑÕ É 2 ÔÏ Ñ ÐÕÒÒ ÔÖÒÐÖ ÓÑÓÑ ÒÖ ÐÐÑÕ ÊÐÔ Ò ÒÖ ÐÐÑÕ Ê ACID ÔÖÓÒÏ WebLogic Server Ê Ì Ê hê 1 ÉÊÒÖ ÐÐÑÕ ÉÈÂÒÖ ÐÐÑÕ ÊÂÒ ÑÔ Ñ ÒÖ ÐÐÑÕ Î Ê ÈÈÍÉÌÊ ÉÈÂÌÉÂÒÖ ÐÐÑÕ ÊÍÉÉÂ ÊÍÆÊ hòö ÐÐÑÕ ÊÈËÉÊ ACID ÔÖÓÒÏÇÒ ÑÔ Ñ ÒÖ ÐÐÑÕ Ê ÍÍÌÈÂ WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 1-1

1 ÒÖ ÐÐÑÕ ÊÉÆÉ ÒÖ ÐÐÑÕ ÊÍÍÒ ÑÔ ÑËÊ ÊÈËÉ 1 ÉÊ ÉÈÉsÍÍÂÈÆÉÊÆ ÊÊÈËÉÊ ÇÖ ÖÓÒÐÈÍÌÈÂ ÿy ÒÖ ÐÐÑÕ Ç ÈÍÉÂÒ ÑÔ ÑÊ Ê Ê ÇÍ uê Ê Ë ÈÍÌÈÂ ÒÖ ÐÐÑÕ ÊÍÍÒ ÑÔ ÑËÊ ÊÂÒÖ ÐÐÑÕ Ç Î ÈÍÌÉ Ê ÇÍÊuÆÌÈÎÂ ÒÖ ÐÐÑÕ ÊÍÍÒ ÑÔ ÑËÊ ÊÂÑÑÒÕÌÉÊ Ê Ç ÈÉÌ ÍÍÌÈÎÂ WebLogic Server ÊÒ ÑÔ ÑÊ Ç ÊsÍÍÍÍÆÊÈÍ ÍÉÏ ÔÖÑÒÖÐÒÕÎ ÆÉÆÍÊÉÂÈÌÈÌÊÖÑ Ñ ÔÓ ÑÕÊÌÉÇ Í ÉÆÉÉÌÒÖ ÐÐÑÕ Ê Ç xèíìèâ1 ÉÊ ÉÏ Ö ÇzÇÉ ÊÂ ~ÈÍÈËÉÊ ÇÖ ÖÓÒÐÈÍÌÈÂ ÐÔ ÒÈÍÉÆÍÔÖÐÖÕ Ð ÕÒÖ WebLogic Server ÉÊÂSun Microsystems Ê Java 2 Enterprise Edition (J2EE) Ô ÖÐÖÕ Ð ÕÒÖÊÒÖ ÐÐÑÕ ÇÐÔ ÒÈÍÌÈÂÌÉÂWebLogic Server ÉÊÂÏ Ñ ÔÖÏÑ JavaBeans 2.0 (Sun Microsystems s ) Ê ÈÉÆÍÏ Ñ ÔÖÏÑ JavaBean Î ÈÍ Java ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ Ì ÊÐÔ ÒÈÍÉÆÌÈÂÈÍÊÂWebLogic Server ÉÊÂ Java Transaction API (JTA) 1.0.1a ( ÇÍÌ Sun Microsystems Ê s ) ÌÐ Ô ÒÈÍÉÆÌÈÂ ÐÔ ÒÈÍÉÆÍ API ÕÒÖ WebLogic Server ÉÊÂSun Microsystems Ê Java Transaction API (JTA) ÇÐÔ ÒÈÍÉÆÌÈÂJTA ÊÂ ÊÎÔÖÐ ÑÕ É ÈÍÌÈÂ WebLogic Server EJB Ð ÒÒ ÊÏ Ñ ÔÖÏÑ JavaBean (EJB) Î ÔÖÐ ÑÕ WebLogic Server Ï ÔÖÑÒÖÐÒÕ Ê Remote Method Invocation (RMI) ÎÔÖÐ ÑÕ JTA ÊÉÆÉÊÂ Êy Î ÈÉÇÉÈÆÂ 1-2 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

WebLogic Server ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ Ê u javax.transaction ÆÍË javax.transaction.xa ÓÒÐ Ñ API Sun Microsystems sê Java Transaction API ÒÖ ÐÐÑÕ É 2 ÔÏ Ñ ÐÕÒÒ ÔÖ ÒÐÖ WebLogic Server ÉÊÂÏ Ñ ÔÖÏÑ ÎÔÖÐ ÑÕ Ê ÒÖ ÐÐ ÑÕ É 2 ÔÏ Ñ ÐÕÒÒ ÔÖÒÐÖÇÐÔ ÒÈÍÌÈÂ ÒÖ ÐÐ ÑÕ ÉÊÂt ÊÖÑ Ñ ÔÓ ÑÕ ( Ò ÑÔ ÑÊÊ ) Çw Ê È ÍÍÒÖ ÐÐÑÕ ÊÇÉÉÈÂÿ ÂÖ ÏÖ ÒÖ ÐÐÑÕ ÊÂ Ê API Ë ÈÎw ÈÍ 1 ÉÊÖÑ Ñ ÔÓ ÑÕÊ ÈÉÂÒÖ ÐÐ ÑÕ Î ÆÍËÐÕÒÒÈÌÈÂÇÊÉÌÂÒÖ ÐÐÑÕ ÔÓ ÑÕ ÊÆÍÌÈÎÂ2 ÔÏ Ñ ÐÕÒÒ ÔÖÒÐÖÊÂt ÊÖÑ Ñ ÔÓ ÑÕ ÊÌÉÇÉÉ 1 ÉÊÒÖ ÐÐÑÕ Îw ÈÍ ÉÈÂÇÍÊÍÍÂÒÖ ÐÐÑÕ ÊÍÍ Î ~ÈÍÒ ÑÔ ÑÊÈËÉÉÐÕÒÒÈÍÇÂÌÉ ÊÈËÉÊÒ ÑÔ ÑÇÍ ÊÖ Ö ÓÒÐÈÂÒÖ ÐÐÑÕ Ê Ê ÈÇÉÉÂÒ ÑÊ Ç vèíìèâéìíâ ~ÈÍÈËÉ ÊÒ ÑÔ ÑÇ ÈÍÍÇÂÌÉÊÊÊÒ ÑÔ ÑÌ ÈÍÊÆÇÂÊ ÊÉÍÇÉÉÆÆÇÉÉÈÂ ÒÖ ÐÐÑÕ ÊÊÂ ÊÌÊÇ ÈÌÈÂ ÒÖ ÐÐÑÕ ÏÖÑÓ Ñ ÒÖ ÐÐÑÕ Î ÈÌÈÂÒÖ Ð ÐÑÕ ÏÖÑÓ ÑÉÈÉÊÂÕ Ð ÎÔÖÐ ÑÕ ÂÏ Ñ ÔÖ ÏÑ JavaBeanÂÌÉÊ JMS ÐÖÏÎ ÒÇÆÍÌÈÂ ÒÖ ÐÐÑÕ ÔÓ ÑÕ ÎÔÖÐ ÑÕ ÔÖÐÖÕÊ ÍÉÉÒ Ö ÐÐÑÕ Î ÈÌÈÂÒÖ ÐÐÑÕ ÔÓ ÑÕÊÂÒÖ ÐÐ ÑÕ Ê É ÎsÆÎÔÖÐ ÑÕ ÔÖÐÖÕÇÍÊÐÔ ÒÎÂ ÈÍÍÊÒÖ ÐÐÑÕ Ê ÍÍÈËÉÊÖÑ Ñ ÔÓ ÑÕÉ~ ÈÍ ÇÉÉw ÈÌÈÂÖÑ Ñ ÔÓ ÑÕÇÒÖ ÐÐÑÕ Ê ÈÉ ÂÒÖ ÐÐÑÕ ÔÓ ÑÕÊÖÑ Ñ ÔÓ ÑÕÇ ÊÒÖ ÐÐÑÕ ÎÐÕÒÒÈÍÇÖ ÖÓÒÐÈÍÇÎ ÈÍÊÎ ÈÌ ÈÂ hêöñ Ñ Ò ÑÊ ÑÒÖ ÑÎ ÈÌÈÂËÉÎÊÊ ÊÖÑ ÑÉÈÉÒ ÑÔ ÑÇ ÈÍÌÈÂ WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 1-3

1 ÒÖ ÐÐÑÕ ÊÉÆÉ ÖÑ Ñ ÔÓ ÑÕ ÌÔÖÑÑËÊÎÐÑÑ Î ÈÌÈÂÖ Ñ Ñ ÔÓ ÑÕÉÈÉÊÒÖ ÐÐÑÕ JDBC ÒÖÏÓÇÍÇ ÈÍÌÈÂÖÑ Ñ ÔÓ ÑÕÊÒÖ ÐÐÑÕ Ê héîðñõ Ê Î ÈÌÈ ( ÇÍÍÊ ÒÖ ÐÐÑÕ Ê ÉÎÐÑÑÆÍË ÈÍÍÏ ÒÏÒÏ )ÂÖÑ Ñ ÔÓ ÑÕÉ ÊÖÑ ÑÊ~ Ê ÒÖ ÐÐÑÕ ÔÖ ÒÉ ÊÍÌÈ 2 ÔÏ Ñ ÐÕÒÒ ÔÖÒÐÖÊ ÊÔÏ ÑÊ ÔÏ ÑÉ ÊÍÌÈ u ÈÍÉ ÇÒÖ ÐÐÑÕ ÖÐ ÔÎÏÖÊvƒÈÍÉÍÂÖÑ ÑÊ ÖÑ Ñ ÔÓ ÑÕÎ~ÈÉ Ê ÇÉÇÉÆÍÇÉÎ ÈÊÇÍÊÊÍ ÌÈÎÂÖÑ ÑÊ ÎÐÕÒÒÈÍÊÇÂÌÉÊ Ê ÊÖ ÖÓÒÐ ÈÍÊÇÎ s ÉÇÌÈ 2 ÔÏ ÑÉ ÇsÍÍÍÇÊÂÖÑ ÑÊ s ÊÍÉÉ ÌÍÌÈÂÈËÉÊÖÑ ÑÇÐÕÒÒÎ ÈÍÉÂÒÖ ÐÐÑÕ Ê ÍÉÉÆÍÈËÉÊÖÑ ÑÇ ÈÍÌÈÂ1 ÉÌÉÊt Ê ÖÑ ÑÇÖ ÖÓÒÐÎ ÈÉ ÊÂÒÖ ÐÐÑÕ Ê ÍÉÉÆÍÈ ËÉÊÖÑ ÑÇ Ê ÊÖ ÖÓÒÐÈÍÌÈ ÓÑÓÑ ÒÖ ÐÐÑÕ ÊÐÔ Ò WebLogic JTA ÉÊÂÓÑÓÑ ÒÖ ÐÐÑÕ Ç ÊÍÆÊÐÔ ÒÈÍÉ ÆÌÈ ÐÖÏÎ Ò ÎÔÖÐ ÑÕ ÇÒÖ ÐÐÑÕ Î ÈÉÉÇÊÕÓ ÐÊÒÖ ÐÐÑÕ x Ç ÈÍÌÈ ÒÖ ÐÐÑÕ ÇsÈÓÑÓÑ ÔÖÑÑÎw ÈÍÒÖ ÐÐÑÕ ( h ) ÇÐÔ ÒÈÍÌÈÂÒÖ ÐÐÑÕ Î ÈÍÉ vìï Ö ÕÒÑ ÑÇÌÉÉ fêêíìèâ ÒÖ ÐÐÑÕ Ê ÍÉÉÆÍÂÈÉÇÉÉÒÖ ÐÐÑÕ ÊÐÕÒÒ Éw ÈÊÇÍÊÊÍÊÆÏÔÑÏÐÒÎ~{ÈÍÉÌÊ WebLogic Server Ï ÔÖÑÒÖÐÒÕÇ~ ÈÉ hèìèâ ÒÖ ÐÐÑÕ ÉÎÐÑÑÈÍÍÉÇÊÂÖÑ Ñ ÔÓ ÑÕ ( ÉÆÉÆ ÊÒ ÑÔ Ñ ) Ç~ Î ÇÌÈÂ~ Î ÇÉÖÑ Ñ ÔÓ ÑÕÊ ÒÖ ÐÐÑÕ Ç ÈÍÌÉÎÐÑÑ yêöð ÒÎÖÒÐÈÌÈ ÒÖ ÐÐÑÕ Ê Ê 2 ÔÏ Ñ ÐÕÒÒÇw ÈÍÌÈÂÇÊw ÊÍÍÂÒÖ ÐÐÑÕ Ê ÍÉÉÆÍÈËÉÊÖÑ ÑÉ Ç Ê ÐÕÒÒÈÍÌÈÂÐÕÒÒÊw ÊÂOpen Group Ê XA ÔÖÒÐÖÎ 1-4 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

ÊÊÍÆÊ É ÈÍÊÇ ÈÉ ÈÍÍÈËÉÊÒ ÑÔ ÑÉsÍÍÌÈÂÇÊu ÊÂ È ÉÆÍ ÇÊÖÖ ÑÕÒÖ Ò ÑÔ ÑÉÐÔ ÒÈÍÉÆÌÈ ÒÖ ÐÐÑÕ Î ÈÍ uçæíéçêö ÖÓÒÐ Ç sèí ÌÈ ÇzÇÉÉÇÊ Ç sèíìèâðöòñõê ÉÎÐÒÏ ÔÉÉÉÒÖ ÐÐÑÕ Ç vèíâèêòö ÐÐÑÕ ÎÖ ÖÓÒ ÐÈÍÊÇÐÕÒÒÈÍÊÇÇ ÈÍÌÈ ÒÖ ÐÐÑÕ ÊÑÏÕÎÏÒÇ ÈÍÌÈÂÓÑÓÑ ÊÆÌÍÊ Ì ÇÊ ÇÇÇÍ ÂÌÉÊÓÑÓÑ Ç ÊÉÌÊ~ É ÈÉÆÍ ÊÂÒÖ ÐÐÑÕ ÊÑÏÕÎÏÒÇi Ê sèíâ Ò ÑÔ Ñ ÖÒÐÊÊÊÖÑ ÑÇu ÈÍÌÈ ÊÊÍÆÊ É ÈÍÊÇ ÒÖ ÐÐÑÕ Ê ÊÍÆÊ É ÈÍÊÇÈÉÆÌÈ ÊÂWebLogic Server ÑÑÒÕÉÐÔ ÒÈÍÉÆÍÒÖ ÐÐÑÕ ÕÒÖÎ s ÈÉÆÌÈ ÒÖ ÐÐÑÕ ÊÂÕ Ð Êt Ê ˆÊÌÉÇÉ ÉÊÆÇÊÆÇÉÊ ÈÉÇÉÈÆÂÌÉÉt ÉÓÏÖÔÖÊÒÖ ÐÐ ÑÕ ÊÂ~ ÈÍ ÒÖ ÐÐÑÕ É tèí uçæíìèâ ÏÔÑÏÐÒÊ ÈÍ 1 ÊÐÖÏÎ Ò Ë ÈÉÂÏÔÑÏÐÒÊÍÍ Ò ÑÔ ÑÊÒ ÑÇt ÊÍÉÉÉd ÈÍÌÈÂÆÈÍÇÊd Ç ÈÉ ÂÏÔÑÏÐÒÉÊÈËÉÊd ÎÖ ÖÓÒÐÈÍÇÉÇ uéêíìèâçê ÉÊ ÂÊÒ ÑÔ Ñd Ê ÈÈÌ EJB ÌÉ Ê RMI Ê Ë ÈÉÊÆÍÌÈÎÂÎÔÖÒÒÊÊÊÐÖÏÎ ÒÉÊ JNDI Î ÈÉ Transaction ÏÔÑÏÐÒÆÍË TransactionManager ÏÔÑÏÐÒÊ Î ÈÂÒÖ ÐÐÑÕ Î ÉÇÌÈ ÉÉÆÊ sêîôöð ÑÕ ÎfÆÉÇÉÈÆÂÐÖÏÎ ÒÉÊ ÏÔÑÏÐÒÊ ÈÉ~ Îu ÈÌÈÂ~ ÊÆÆÉÊ ÏÔÑÏÐÒÊ sêò ÑÔ ÑÉ Ê Ë ÈÎsÍÊÇÍÊÊÍ ÌÈΠ1 ÉÊ É~ ÕÑÒÒÎ Ë ÈÌÈÂ Ê É ÕÑÒÒÎ Ë ÈÌÈÂ Ò ÑÔ ÑÉ Ç ÈÉ ÂÎÔÖÐ ÑÕ ÉÊ Ê~ Î Ö ÖÓÒÐÈÍÇÉÇ uéêíìèâ WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 1-5

1 ÒÖ ÐÐÑÕ ÊÉÆÉ ÐÖÏÎ Ò ÎÔÖÐ ÑÕ ÉÂÐ Ó ÎÔÖÐ ÑÕ É ÈÍÍ ÏÔÑÏÐÒÉÊ vî uéèâ ÊÏÔÑÏÐÒ Ï ÑÑ ÑÊ È Ít Ê Ë ÈÎsÆ uçæíìèâèê vêêâ ÊÍÆÊ Ê 1 ÉÌÉÊt Ç ÍÉÉÆÌÈÂ Ò ÑÊÂ~ ÈÍ Ë ÈÊ ÌÉÊ ÉÕÕÖÊÐÕÒÑÕÈÍ ÍÇÂÒ ÑÔ ÑÊ Ç}ÌÍÌÈÂ Ò ÑÊÂ vê ÍÍÊÒ ÑÔ ÑÊ Ç}ÌÍÌÈÂ ÐÖÏÎ Ò ÎÔÖÐ ÑÕ ÉÊÂ Ë È ÊÏ ÕÕÖ Ð Ò ÐÑÒÎ ÈÍÏÔÑÏÐÒÇ uéêíìèâéìíâ~ ÈÍ Ë ÈÉÊÂ vê Î~ÈÉÕÕÖÊ ÈÍÉÆÍÒ ÑÇ ÈÍÌÈÂ vê ÊÂÐÖÏÎ Ò ÎÔÖÐ ÑÕ ÉÊ vê~ ÌÉÊ ÊsÍÍÉÒ ÑÔ ÑËÊ Ç}Ì ÎÈËÉ Í È hç uéêíìèâ ÒÖ ÐÐÑÕ Î ÈÊÆ ÒÖ ÐÐÑÕ Ê ÊÈÉÆÍÍÇÉÊÆÍÌÈÎÂÉÉÆÊÂÿ~ÊÒÖ ÐÐÑÕ Ê ÇÇÇÍ ÊÂ~ ÈÍ ÒÖ ÐÐÑÕ É tèì ÈÂÒÖ ÐÐÑÕ Ê Ê Î ÈÌÈÂ ÐÖÏÎ Ò ÎÔÖÐ ÑÕ Ét ÊÏÔÑÏÐÒÊ ÈÍ Ë ÈÎs Æ uçæíâèêÿ~ê Ë ÈÊÊ 1 ÉÌÉÊt ÊÒ ÑÔ ÑËÊ Ç}Ì Ç ÉÉÆÌÈÂÆÈÍÇÊ Ë ÈÇ ÈÉ ÂÕÕÖ ÌÉÊÒ ÑÔ ÑÉ Ç}ÌÍÉ ÊÖ ÖÓÒÐÈÍÊÇÍÊÊÍÊ ÍÌÈÎÂ ÉÉÆÊÂ s ÊÎÔÖÐ ÑÕ ÎfÆÉÇÉÈÆÂÐÖÏÎ Ò ÎÔÖÐ ÑÕ ÉÊÂÉÉÆÊÔÖ ÑÊÑÒÖÑÔ ÖÇÍÏ ÑÒÖ ÖÎÊÎÖÑ ÑÔÖ ÐÑÌÉÊÍÆÊ { Ê sî ÈÍ uçæí ÌÈÂÈÊÍÆÊ { Ê séêâêæèéìt ÊÔÖÏÒÊ Î ÊsÍÊÇÍÊÊÍÌÈÎÂÐÖÏÎ Ò ÎÔÖÐ ÑÕ ÉÊÂ Ê Ê Ç ÊsÍÍÌÈÂÉÉÆÊÂÑÒÖÑÔ ÖÇÍÓÖÂÓ ÖÇÍÓÕ Õ ÐÂÓÕ Õ ÐÇÍÖÐ ÑÖÑÊ Ç ÊsÍÍ ÌÈÂÉÉÈÂÆÈÍÇÊÔÖÏÒÊ ÇÉÇÊÆ ÂÐÖÏÎ Ò Î ÔÖÐ ÑÕ ÉÊÈÍÌÉÊsÉÉÔÖÏÒÊ ÎÈËÉÐÕ ÑÖÈ Í uçæíìèâ 1-6 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

ÒÖ ÐÐÑÕ Ê Ì ÒÖ ÐÐÑÕ Ê Ì ÇÊ Ê Ê ÊÉÆÍÉÈÂ WebLogic Server EJB ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ WebLogic Server RMI ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ WebLogic Server EJB ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ 1-1 ÊÂWebLogic Server EJB ÎÔÖÐ ÑÕ ÉÒÖ ÐÐÑÕ ÇÊÊÍ ÆÊ hèíêçî ÈÉÆÌÈÂ 1-1 WebLogic Server EJB ÎÔÖÐ ÑÕ ÉÊÒÖ ÐÐÑÕ Ê Ì WebLogic Server ÉÊÂWebLogic Server EJB ÎÔÖÐ ÑÕ É Ê 2 ŠÊ ÒÖ ÐÐÑÕ ÇÐÔ ÒÈÍÉÆÌÈÂ Ð ÒÒ ÊÒÖ ÐÐÑÕ ÉÊÂWebLogic Server EJB Ð ÒÒÊ ÍÉÉÒÖ ÐÐÑÕ Ê v Ç ÈÍÌÈÂEJB ÒÔÖÏÕ Òv ~ ÊÒÖ ÐÐÑÕ ÉÊÂ ÕÑÒÒ Ë ÈÉ WebLogic Server WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 1-7

1 ÒÖ ÐÐÑÕ ÊÉÆÉ EJB Ð ÒÒÇÊÊÍÆÊÒÖ ÐÐÑÕ Î ÈÍÊÇÇ ÈÍÌ ÈÂÒÔÖÏÕ Òv~ Êv ÊÉÆÉÊÂÃWebLogic Ï Ñ ÔÖÏÑ JavaBeans ÔÖÐÖÔ Ñ ÏÏÒÃÎ ÈÉÇÉÈÆÂ Bean ÊÒÖ ÐÐÑÕ ÉÊÂEJB ÊÍÉÉÒÖ ÐÐÑÕ Ê v Ç ÈÍÌÈÂEJB ÊÂUserTransaction ÏÔÑÏÐÒÊ ÈÍ ÊÕÑÒÒ Ë ÈÎsÉÉÂÒÖ ÐÐÑÕ Ê ÂÐÕÒÒÂÆÍ ËÖ ÖÓÒÐÎsÆÌÈÂUserTransaction ÏÔÑÏÐÒÊv ÊÉÆÉ ÊÂWebLogic Server Javadoc Î ÈÉÇÉÈÆÂ ÒÖ ÐÐÑÕ ÏÔ ÒÊÑ Ð ÑÊÂÐ ÒÒ ÊÒÖ ÐÐÑÕ É Bean ÊÒÖ ÐÐÑÕ É ÊÍÌÈÂ Ð ÒÒ ÊÒÖ ÐÐÑÕ ÒÖ ÐÐÑÕ ÇÐ ÒÒÉ ÈÍÍ EJB ÎÔÖÐ ÑÕ Ê Â ÊÒÖ ÐÐÑÕ Ê ÊÍÆÊ hèìèâ 1. Bean ÔÖÓÏÑÌÉÊÎÔÖÐ ÑÕ ÎÑ ÔÖÊÂEJB ÊÒÔÖÏÕ Òv~ ÉÂÒÖ ÐÐÑÕ Ê Š (transaction-type) ÉÈÉÐ Ò Ò Ê v (Container) Î ÈÌÈÂ 2. Bean ÔÖÓÏÑÌÉÊÎÔÖÐ ÑÕ ÎÑ ÔÖÊÂEJB ÊÒÔÖÏÕ Òv~ ÉÂEJB ÊÒÔÏÖÒÊÒÖ ÐÐÑÕ (trans-attribute u ) Î ÈÌÈÂÒÖ ÐÐÑÕ ÉÈÉÊÂ NotSupportedÂRequiredÂSupportsÂRequiresNewÂMandatoryÂÌÉÊ Never Îv ÈÌÈÂÇÍÍÊv Êv ÊÉÆÉÊÂSun Microsystems Ç sèéæí EJB 2.0 ÊÑÐÑÕ 17.6.2 Î ÈÉÇÉÈÆÂ 3. uê ÈÉÂBean ÔÖÓÏÑÌÉÊÎÔÖÐ ÑÕ ÎÑ ÔÖÊÂEJB ÊÒÔÖÏÕ Òv~ ÉÂ1 ÉÌÉÊt ÊÕÑÒÒÊ trans-attribute Î ÈÌÈÂ 4. ÐÖÏÎ Ò ÎÔÖÐ ÑÕ ÊÍÉÉ EJB ÊÕÑÒÒÇ Ë ÈÍÍÉÂ EJB Ð ÒÒÊÒÔÖÏÕ Òv~ ÉÈÊÕÑÒÒÊ trans-attribute v ÎwËÌÈÂÕÑÒÒÊv Ç ÈÍÉÆÊÆ ÊÂÈÊ EJB ÊÒ ÔÏÖÒÊ trans-attribute v Ç ÈÍÌÈÂ 5. EJB Ð ÒÒÊÂtrans-attribute Êv Ê ÈÉ Ê ÈÌÈÂ 1-8 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

ÒÖ ÐÐÑÕ Ê Ì ÉÉÆÊÂtrans-attribute Êv Ç Required Ê ÂEJB Ð ÒÒ Ê ÊÒÖ ÐÐÑÕ Ð ÒÐÑÒÉÕÑÒÒÎ Ë ÈÌÈÂÐ ÖÏÎ ÒÇÒÖ ÐÐÑÕ Ð ÒÐÑÒÊÈÉ Ë ÈÎsÉÉ ÂEJB Ð ÒÒÊÕÑÒÒÎ sèí Ê ÈÆÒÖ ÐÐÑÕ Î ÈÌÈÂ trans-attribute Êv Ç Mandatory Ê ÂEJB Ð ÒÒÊ Ê ÒÖ ÐÐÑÕ Ð ÒÐÑÒÉÕÑÒÒÎ Ë ÈÌÈÂÐÖÏÎ ÒÇÒÖ ÐÐÑÕ Ð ÒÐÑÒÊÈÉ Ë ÈÎsÉÉ ÂEJB Ð ÒÒÊ javax.transaction.transactionrequiredexception Î~ ÈÌÈÂ 6. ÓÑÓÑ ÕÑÒÒÊ Ë ÈÊ~ ÉÂÖ ÖÓÒÐÇ uéé ÈÍÉ ÂÓÑÓÑ ÕÑÒÒÉÊ EJBContext.setRollbackOnly ÕÑÒÒÇ Ë ÈÍÌÈÂÇÊÕÑÒÒÉÊÂÕÑÒÒ Ë ÈÊ ÊÒÖ ÐÐ ÑÕ ÎÖ ÖÓÒÐÈÊÇÍÊÊÍÊÆÇÉÇ EJB Ð ÒÒÊ~ ÈÍÌ ÈÂ : EJBContext.setRollbackOnly ÕÑÒÒÊ Ë ÈÊÂ ÊÆÍ ÒÖ ÐÐÑÕ Ð ÒÐÑÒÎ ÉÕÑÒÒÊ ÉÇv ÈÍ ÌÈÂ 7. ÕÑÒÒÊ sç ÈÉÂÈÊ ÇÐÖÏÎ ÒÊ~ ÈÍÍ ÊÂ EJB Ð ÒÒÊÐÕÒÒÈÍÇÌÉÊÖ ÖÓÒÐÈÍÇÉÊÍÉÉÒÖ ÐÐÑÕ Î ÈÌÈÂÒÖ ÐÐÑÕ ÇÖ ÖÓÒÐÈÍÍÊÊÂ EJBContext.setRollbackOnly ÕÑÒÒÇ Ë ÈÍÉ ÉÈÂ Administration Console Î ÈÉ Timeout Seconds Îv ÈÍÊÂÒÖ ÐÐÑÕ ÊÑÏÕÎÏÒÎ ÉÇÌÈÂAdministration Console Ï ÖÏ ÔÖÔÎ ÈÉÇÉÈÆÂ Bean ÊÒÖ ÐÐÑÕ ÒÖ ÐÐÑÕ Ê v Ç Bean É ÈÍÍ EJB ÎÔÖÐ ÑÕ Ê Â ÊÒÖ ÐÐÑÕ Ê ÊÍÆÊ hèìèâ 1. Bean ÔÖÓÏÑÌÉÊÎÔÖÐ ÑÕ ÎÑ ÔÖÊÂEJB ÊÒÔÖÏÕ Òv~ ÉÂÒÖ ÐÐÑÕ Ê Š (transaction-type u ) ÉÈÉ Bean Ê v (Bean) Î ÈÌÈÂ WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 1-9

1 ÒÖ ÐÐÑÕ ÊÉÆÉ 2. ÐÖÏÎ Ò ÎÔÖÐ ÑÕ ÊÂJNDI Î ÈÉÂWebLogic Server Ò ÕÏ Ê UserTransaction ÏÔÑÏÐÒËÊÏÔÑÏÐÒ Î ÈÌ ÈÂ 3. ÐÖÏÎ Ò ÎÔÖÐ ÑÕ ÊÂUserTransaction.begin ÕÑÒÒÎ ÈÉÒÖ ÐÐÑÕ Î ÈÂEJB Ð ÒÒÎ~ÈÉ EJB ËÊu Î sèìèâejb ÉÊÈËÉÊ ÊÂÒÖ ÐÐÑÕ ÊÑÐ Ô É s ÈÍÌÈÂ ÆÈÍÇÊ Ê Ë ÈÉ Ç ( ÊÂÌÉÊ~ ÏÖ Ê ÉÈÉ ) ÈÍÉ ÊÂÈÊ Î ÈÂ UserTransaction.rollback ÕÑÒÒÎ ÈÉÒÖ ÐÐÑÕ Î Ö ÖÓÒÐÉÇÌÈÂ Ç ÈÍÊÆ ÂÐÖÏÎ Ò ÎÔÖÐ ÑÕ Ê UserTransaction.commit ÕÑÒÒÎ ÈÉ ÊÒÖ ÐÐÑÕ ÎÐÕÒÒÈÌÈÂÇÊÕÑÒÒÊÂÒÖ ÐÐÑÕ Î ÈÉ Î ÈÌÈÂÒÖ ÐÐÑÕ ÊÂÈÊÒÖ ÐÐÑÕ Ê ÍÉÉ ÆÍÈËÉÊÖÑ ÑÇÐÕÒÒÊ ÈÉ ÉÇÐÕÒÒÈÍÌÈÂ 4. UserTransaction.commit ÕÑÒÒÇ Ë ÈÍÍÉÂEJB Ð ÒÒÊÒÖ ÐÐÑÕ Î ÈÍÉÌÊÒÖ ÐÐÑÕ ÔÓ ÑÕÎ Ë ÈÌ ÈÂ 5. ÒÖ ÐÐÑÕ ÔÓ ÑÕÊ ÊÂÖÑ Ñ ÔÓ ÑÕÉ ÈÉ Ò ÑÔ ÑÎ ÈÍÇÉÉÈÂ WebLogic Server RMI ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ 1-2 ÊÂWebLogic Server RMI ÎÔÖÐ ÑÕ ÉÒÖ ÐÐÑÕ ÇÊÊÍ ÆÊ hèíêçî ÈÉÆÌÈÂ 1-10 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

ÒÖ ÐÐÑÕ Ê Ì 1-2 WebLogic Server RMI ÎÔÖÐ ÑÕ ÉÊÒÖ ÐÐÑÕ Ê Ì RMI ÊÐÖÏÎ Ò ÎÔÖÐ ÑÕ ÉÐ Ó ÎÔÖÐ ÑÕ Ê Â ÊÒÖ ÐÐÑÕ Ê ÊÍÆÊ hèìèâ 1. ÎÔÖÐ ÑÕ ÊÂJNDI Î ÈÉÂWebLogic Server ÒÕÏ Ê UserTransaction ÏÔÑÏÐÒËÊÏÔÑÏÐÒ Î}ÈÌÈ ÏÔÑÏÐÒ Î ÈÍÉÂÎÔÖÐ ÑÕ ÉÈÊÏÔÑÏÐÒÇ v Ê ÍÌÈ v ÊÂÐÕÒÒÇÖ ÖÓÒÐÊÍÉÉÒÖ Ð ÐÑÕ Ç ÈÍÌÉ ÇÌÈÂÏ ÑÑ Ñ ÈÍÉ RMI ÏÔÑÏÐ ÒÊÂu ÈÍÍÌÉ ( ÉÆÉÆÊÐ ÓÊ ) ÕÕÖ ÉÎÐÒÏÔ Ê Î ÈÌÈÂÒÖ ÐÐÑÕ Ê ÊÂWebLogic Server Ï ÔÖ ÑÒÖÐÒÕÊÍÉɈÎÐÒÏÔ ÑÕ ÌÎÐÒÏÔ ÑÕ Ê sè ÍÌÈΠ2. ÐÖÏÎ Ò ÎÔÖÐ ÑÕ ÊÂUserTransaction.begin ÕÑÒÒÎ ÈÉÒÖ ÐÐÑÕ Î ÈÂÐ Ó ÎÔÖÐ ÑÕ ËÊu Î s ÈÌÈÂÐ Ó ÎÔÖÐ ÑÕ ÉÊÈËÉÊ ÊÂÒÖ ÐÐÑÕ Ê ÑÐ Ô É sèíìèâ ÆÈÍÇÊ Ê Ë ÈÉ Ç ( ÊÂÌÉÊ~ ÏÖ Ê ÉÈÉ ) ÈÍÉ ÊÂÈÊ Î È UserTransaction.rollback ÕÑÒÒÎ ÈÉÒÖ ÐÐÑÕ Î Ö ÖÓÒÐÉÇÌÈ WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 1-11

1 ÒÖ ÐÐÑÕ ÊÉÆÉ Ç ÈÍÊÆ ÂÐÖÏÎ Ò ÎÔÖÐ ÑÕ Ê UserTransaction.commit ÕÑÒÒÎ ÈÉ ÊÒÖ ÐÐÑÕ ÎÐÕÒÒÈÌÈÂÇÊÕÑÒÒÊÂÒÖ ÐÐÑÕ Î ÈÉ Î ÈÌÈÂÒÖ ÐÐÑÕ ÊÂÈÊÒÖ ÐÐÑÕ Ê ÍÉÉ ÆÍÈËÉÊÖÑ ÑÇÐÕÒÒÊ ÈÉ ÉÇÐÕÒÒÈÍÌÈÂ 3. UserTransaction.commit ÕÑÒÒÇ Ë ÈÍÍÉÂWebLogic Server Ê ÒÖ ÐÐÑÕ Î ÈÍÉÌÊÒÖ ÐÐÑÕ ÔÓ ÑÕÎ Ë È ÌÈÂ 4. ÒÖ ÐÐÑÕ ÔÓ ÑÕÊ ÊÂÖÑ Ñ ÔÓ ÑÕÉ ÈÉ Ò ÑÔ ÑÎ ÈÍÇÉÉÈÂ v ÊÉÆÉÊÂ 6 ÃRMI ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ ÃÎ ÈÉÇÉÈÆÂ ÒÖ ÐÐÑÕ ÊÐ ÔÖ Ð Ò ÇÊ Ê Ê ÊÉÆÍÉÈÂ ÒÖ ÐÐÑÕ ÊÐ ÔÖ EJB Ð Ò ÒÖ ÐÐÑÕ ÊÐ ÔÖ RMI Ð Ò ÒÖ ÐÐÑÕ ÊÐ ÔÖ EJB Ð Ò ÇÊ ÉÊÂEJB ÎÔÖÐ ÑÕ ÊÐÖÑÇÍ ÈÉÐ ÔÖ Ð ÒÎ ÈÉ Êw ÎsÆÌÈÂÇÇÉÊ ÊÉÆÉw ÈÌÈÂ ÓÒÐ ÑÎÏ Ô ÒÈÍ JNDI Î ÈÉÏÔÑÏÐÒ Î}È ÒÖ ÐÐÑÕ Î ÈÍ ÒÖ ÐÐÑÕ Î ÈÍ 1-12 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

ÒÖ ÐÐÑÕ ÊÐ ÔÖ Ð Ò Ð ÔÖ Ð ÒÉÊÂBean ÊÍÍÒÖ ÐÐÑÕ Ê v É UserTransaction ÏÔÑÏÐÒÇ ÈÍÌÈÂÇÊ Bean ÊÒÔÖÏÕ Òv ~ ÉÊÂÒÖ ÐÐÑÕ Ê Š (transaction-type u ) ÉÈÉ Bean ÊÍÍÒÖ ÐÐÑÕ Ê v (Bean) Ç ÈÍÌÈÂ : ÊÐ ÔÖ Ð ÒÊÂWebLogic Server Ê ÈÍÐ ÔÖ ÎÔÖ Ð ÑÕ ÇÍ ÈÉÌÊÉÊÆÍÌÈÎÂ ÊÂEJB ÎÔÖÐ ÑÕ ÉÊ UserTransaction ÏÔÑÏÐÒÊ Îw ÈÍÉÌÊ ÈÍÉÌÊÉÈÂ ÐÖ ÓÖ ÒÖ ÐÐÑÕ ÉÊÂEJB Ç ÈÉÆÍ WebLogic Server Ï ÑÑ Ñ ÊÖ ÏÖ TxDataSource- ÇÍÒ ÑÔ Ñ Î ÈÌÈÂÖÕ Ò WebLogic Server Ï ÑÑ Ñ Ê TxDataSource ÇÍÊ Î ÈÊÆÉÇÉÈÆÂ ÓÒÐ ÑÎÏ Ô ÒÈÍ Ð Ò ÖÑÒ 1-1 ÊÂÒÖ ÐÐÑÕ É uêóòð ÑÊÏ Ô ÒÎ È ÉÆÌÈÂ uêóòð ÑÊÊ ÊÌÊÇÆÍÌÈÂ javax.transaction.usertransactionâçêïôñïðòê ~ ÇÍÍ ÉÆÍÕÑÒÒÊÖÑÒÊÉÆÉÊÂÏ ÖÏ Ê Javadoc Î ÈÉÇÉ ÈÆÂ ÑÑÒÕ Â ÊÖÑÒÊÉÆÉÊÂÏ ÖÏ Ê Javadoc Î ÈÉ ÇÉÈÆÂ Ð Ò ÖÑÒ 1-1 ÓÒÐ ÑÊÏ Ô Ò import javax.naming.*; import javax.transaction.usertransaction; import javax.transaction.systemexception; import javax.transaction.heuristicmixedexception import javax.transaction.heuristicrollbackexception import javax.transaction.notsupportedexception import javax.transaction.rollbackexception import javax.transaction.illegalstateexception import javax.transaction.securityexception import java.sql.*; import java.util.*; WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 1-13

1 ÒÖ ÐÐÑÕ ÊÉÆÉ JNDI Î ÈÉÏÔÑÏÐÒ Î}È Ð Ò ÖÑÒ 1-2 ÊÂJNDI ÒÖ ÉÏÔÑÏÐÒÎÖÒÐÎÒÔÈÍ Î ÈÌÈÂ Ð Ò ÖÑÒ 1-2 JNDI ÖÒÐÎÒÔÊ s Context ctx = null; Hashtable env = new Hashtable(); env.put(context.initial_context_factory, "weblogic.jndi.wlinitialcontextfactory"); // WebLogic Server ÊÓÖÕ Ñ // Ê ÍÈÉ ÊÔÑÒ ÂÔ Ò Â // Õ Ð ÂÆÍËÓÑÖ ÒÊeÇ ÆÍ env.put(context.provider_url, "t3://localhost:7001"); env.put(context.security_principal, "Fred"); env.put(context.security_credentials, "secret"); ctx = new InitialContext(env); UserTransaction tx = (UserTransaction) ctx.lookup("javax.transaction.usertransaction"); ÒÖ ÐÐÑÕ Î ÈÍ Ð Ò ÖÑÒ 1-3 ÊÂUserTransaction ÏÔÑÏÐÒÎ ÈÂ javax.transaction.usertransaction.begin() ÕÑÒÒÎ Ë ÈÇÉÊÍ ÍÒÖ ÐÐÑÕ Ê Î ÈÉÆÌÈÂÇÊÕÑÒÒ Ë ÈÊ ÂÒÖ ÐÐÑÕ Ç ÈÍÌÉÊsÍÍÍÒ ÑÔ ÑÊ ÊÂÇÊÒÖ ÐÐ ÑÕ ÊÑÐ Ô Ê ÈÌÈÂ Ð Ò ÖÑÒ 1-3 ÒÖ ÐÐÑÕ Ê UserTransaction tx = (UserTransaction) ctx.lookup("javax.transaction.usertransaction"); tx.begin(); 1-14 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

ÒÖ ÐÐÑÕ ÊÐ ÔÖ Ð Ò ÒÖ ÐÐÑÕ Î ÈÍ Ð Ò ÖÑÒ 1-4 ÊÂÇÊÒÖ ÐÐÑÕ ÊÑÐ Ô ÉvsÈÍÉÆÈÍÇ ÊÒ ÑÔ Ñ É Ç~ ÈÍÉÇÊÆÇÊ ÈÍÒÖ ÐÐÑÕ Ê Î ÈÉÆÌÈÂ ÆÈÍÇÊÒ ÑÔ Ñ É Ç~ ÈÍÉ ÊÂÎÔÖÐ ÑÕ ÊÍÉÉ javax.transaction.usertransaction.rollback() ÕÑÒÒÇ Ë ÈÍÌÈÂ Ç~ ÈÍÊÇÉÉ ÊÂÎÔÖÐ ÑÕ ÊÍÉÉ javax.transaction.usertransaction.commit() ÕÑÒÒÇ Ë ÈÍÂ ÈËÉÊÒ ÑÔ Ñ Ç Ê ÈÉ ÊÒÖ ÐÐÑÕ ÊÐÕÒ ÒÇvsÈÍÌÈÂÇÊÕÑÒÒÇ Ë ÈÍÍÉÂÒÖ ÐÐÑÕ Ç ÈÂ Ç ÈÍÉÂWebLogic Server EJB Ð ÒÒÊÍÉÉÒÖ Ð ÐÑÕ Î ÈÍÉÌÊÒÖ ÐÐÑÕ ÔÓ ÑÕÇ Ë ÈÍÌÈÂ ÒÖ ÐÐÑÕ ÊÂÈÊÒÖ ÐÐÑÕ Ê ÍÉÉÆÍÈËÉÊÖÑ ÑÇÐÕÒÒÊ ÈÉ ÉÇÐÕÒÒÈÍÌÈÂ Ð Ò ÖÑÒ 1-4 ÒÖ ÐÐÑÕ Ê tx.commit(); // ÌÉÊ tx.rollback(); ÒÖ ÐÐÑÕ ÊÐ ÔÖ RMI Ð Ò ÇÊ ÉÊÂRMI ÎÔÖÐ ÑÕ ÊÐÖÑÇÍ ÈÉÐ ÔÖ Ð ÒÎ ÈÉ Êw ÎsÆÌÈÂÇÇÉÊ ÊÉÆÉw ÈÌÈÂ ÓÒÐ ÑÎÏ Ô ÒÈÍ JNDI Î ÈÉ UserTransaction ÏÔÑÏÐÒËÊÏÔÑÏÐÒ Î}È ÒÖ ÐÐÑÕ Î ÈÍ ÒÖ ÐÐÑÕ Î ÈÍ WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 1-15

1 ÒÖ ÐÐÑÕ ÊÉÆÉ Ð ÔÖ Ð ÒÉÊÂRMI ÒÖ ÐÐÑÕ É UserTransaction ÏÔÑÏÐÒ Ç ÈÍÌÈÂRMI ÎÔÖÐ ÑÕ ÉÊÒÖ ÐÐÑÕ Ê ÊÏÏÒ ÖÏ ÊÉÆÉÊÂ 6 ÃRMI ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ ÃÎ ÈÉÇÉÈÆÂ : ÊÐ ÔÖ Ð ÒÊÂWebLogic Server Ê ÈÍÐ ÔÖ ÎÔÖ Ð ÑÕ ÇÍ ÈÉÌÊÉÊÆÍÌÈÎÂ ÊÂRMI ÎÔÖÐ ÑÕ ÉÊ UserTransaction ÏÔÑÏÐÒÊ Îw ÈÍÉÌÊ ÈÍÉÌÊÉÈÂ ÓÒÐ ÑÎÏ Ô ÒÈÍ Ð Ò ÖÑÒ 1-5 ÊÂ uêóòð ÑÊÏ Ô ÒÎ ÈÉÆÌÈÂ uê ÓÒÐ ÑÊÊÂÒÖ ÐÐÑÕ Ê Ê ÈÍ ÊÓÒÐ ÑÇ ÌÍ ÌÈÂ javax.transaction.usertransactionâçêïôñïðòê ~ ÇÍÍ ÉÆÍÕÑÒÒÊÖÑÒÊÉÆÉÊÂÏ ÖÏ Ê Javadoc Î ÈÉÇÉ ÈÆÂ ÑÑÒÕ Â ÊÖÑÒÊÉÆÉÊÂÏ ÖÏ Ê Javadoc Î ÈÉ ÇÉÈÆÂ Ð Ò ÖÑÒ 1-5 ÓÒÐ ÑÊÏ Ô Ò import javax.naming.*; import java.rmi.*; import javax.transaction.usertransaction; import javax.transaction.systemexception; import javax.transaction.heuristicmixedexception import javax.transaction.heuristicrollbackexception import javax.transaction.notsupportedexception import javax.transaction.rollbackexception import javax.transaction.illegalstateexception import javax.transaction.securityexception import java.sql.*; import java.util.*; \ ÇÍÍÊÐÖÑÇÏ Ô ÒÈÍÉ ÊÂUserTransaction ÏÔÑÏÐÒÊÏ ÑÑ ÑÇ null Ê ÈÍÌÈÂ 1-16 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

ÒÖ ÐÐÑÕ ÊÐ ÔÖ Ð Ò JNDI Î ÈÉ UserTransaction ÏÔÑÏÐÒËÊÏÔ ÑÏÐÒ Î}È Ð Ò ÖÑÒ 1-6 ÊÂ Ê WebLogic Server ÒÕÏ Ê UserTransaction Ï ÔÑÏÐÒÊ ÈÍÏÔÑÏÐÒ Î}ÈÉÌÊ JNDI ÒÖ Ê Î ÈÉ ÆÌÈ : ÏÔÑÏÐÒ Î ÈÍÉÂÎÔÖÐ ÑÕ ÉÈÊÏÔÑÏÐÒ Ç v Ê ÍÌÈ v ÊÂÐÕÒÒÇÖ ÖÓÒÐÊÍÉÉ ÒÖ ÐÐÑÕ Ç ÈÍÌÉ ÇÌÈÂÏ ÑÑ Ñ ÈÍÉ RMI ÏÔÑÏÐÒÊÂu ÈÍÍÌÉ ( ÉÆÉÆÊÐ ÓÊ ) ÕÕÖ ÉÎÐÒÏÔÊ Î ÈÌÈÂÒÖ ÐÐÑÕ Ê Ê WebLogic Server Ï ÔÖÑÒÖÐÒÕÊÍÉɈÎÐÒÏÔ ÑÕ Ì ÎÐÒÏÔ ÑÕ Ê sèíìèîâ Ð Ò ÖÑÒ 1-6 JNDI ÖÒÐÎÒÔÊ s Context ctx = null; Hashtable env = new Hashtable(); env.put(context.initial_context_factory, "weblogic.jndi.wlinitialcontextfactory"); // WebLogic Server ÊÓÖÕ Ñ // Ê ÍÈÉ ÊÔÑÒ ÂÔ Ò Â // Õ Ð ÂÆÍËÓÑÖ ÒÊeÇ ÆÍ env.put(context.provider_url, "t3://localhost:7001"); env.put(context.security_principal, "Fred"); env.put(context.security_credentials, "secret"); ctx = new InitialContext(env); UserTransaction tx = (UserTransaction) ctx.lookup("javax.transaction.usertransaction"); ÒÖ ÐÐÑÕ Î ÈÍ Ð Ò ÖÑÒ 1-7 ÊÂjavax.transaction.UserTransaction.begin() ÕÑÒ ÒÎ Ë ÈÇÉÊÍÍÒÖ ÐÐÑÕ Ê Î ÈÉÆÌÈÂÇÊÕÑÒÒ Ë ÈÊ ÂÒÖ ÐÐÑÕ Ç ÈÍÌÉÊsÍÍÍÒ ÑÔ ÑÊ ÊÂÇÊÒÖ ÐÐÑÕ ÊÑÐ Ô Ê ÈÌÈ WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 1-17

1 ÒÖ ÐÐÑÕ ÊÉÆÉ Ð Ò ÖÑÒ 1-7 ÒÖ ÐÐÑÕ Ê UserTransaction tx = (UserTransaction) ctx.lookup("javax.transaction.usertransaction"); tx.begin(); ÒÖ ÐÐÑÕ Î ÈÍ Ð Ò ÖÑÒ 1-8 ÊÂÇÊÒÖ ÐÐÑÕ ÊÑÐ Ô ÉvsÈÍÉÆÈÍÇ ÊÒ ÑÔ Ñ É Ç~ ÈÍÉÇÊÆÇÊ ÈÍÒÖ ÐÐÑÕ Ê Î ÈÉÆÌÈÂ ÆÈÍÇÊÒ ÑÔ Ñ É Ç~ ÈÍÉ ÊÂÎÔÖÐ ÑÕ ÊÍÉÉ javax.transaction.usertransaction.rollback() ÕÑÒÒÇ Ë ÈÍÌÈÂ Ç~ ÈÍÊÇÉÉ ÊÂÎÔÖÐ ÑÕ ÊÍÉÉ javax.transaction.usertransaction.commit() ÕÑÒÒÇ Ë ÈÍÂ ÈËÉÊÒ ÑÔ Ñ Ç Ê ÈÉ ÊÒÖ ÐÐÑÕ ÊÐÕÒ ÒÇvsÈÍÌÈÂÇÊÕÑÒÒÇ Ë ÈÍÍÉÂÒÖ ÐÐÑÕ Ç ÈÂ Ç ÈÍÉÂWebLogic Server ÊÍÉÉÒÖ ÐÐÑÕ Î ÈÍÉÌÊÒÖ ÐÐÑÕ ÔÓ ÑÕÇ Ë ÈÍÌÈÂÒÖ ÐÐ ÑÕ ÊÂÈÊÒÖ ÐÐÑÕ Ê ÍÉÉÆÍÈËÉÊÖÑ ÑÇÐÕÒ ÒÊ ÈÉ ÉÇÐÕÒÒÈÍÌÈÂ Ð Ò ÖÑÒ 1-8 ÒÖ ÐÐÑÕ Ê tx.commit(); // ÌÉÊ tx.rollback(); 1-18 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

2 トランザクションのコンフィグレーションと管理 ª ª ªª ª ª ª ª ~ ÿj w JTA ª ªª ª ªªª ª ª u WebLogic Server f ª ªªªªªªªª ª ª ª ª ªªª ª ª Administration Console ªª ª ªª ª JTA ªªªª w ªªªªªªªª ªªª ªªªªªª ª ª ªªª ª ª ª ªªª ªªªªªªªª ªªªª ªªªªª ~ ª ªªªªª ª ª ªªª ªªªª ª ª Administration Console WebLogic JTA WebLogic Server h ª ª ª ªªªªª ª ªªª ªª Administration Console z WebLogic Server f ª Administration Console z ªªª ªªª ªªª ª ªª ª u ª ª ªª ª ª ª ª f ª ªªªªªªª ª ª ª ªªªªªªªª ªªªªª EJB JDBC JMS ª ª ªª ª ª ª ª h J2EE ªªªª ªª ª u u WebLogic JTA ªªªªªªª ª 2-1

2 ªªªªªªªª ªªª ªªªªªª ªªªªªªªª ªªª ª ª ª ª v ªª ª h ªªª ª ª ªª ª ª ª ª ªªª Administration Console h ª ªª ª ªªª ª ª s ªªªª ªªªªªªªª ª ª t ª ª ª ª ª ª ªªªª e ªªª ª ªª (TransactionLogFilePrefix f ) ªªª ªªªª ª ª ª ªª ª ª TransactionLogFilePrefix ª ª ª ªªª v ª ªªªªªªª ª ª y ªªªª ª ª ªªªª h ª ª ª ªªªª ªªª ªªªª v v Administration Console ªª ª ªªª [ ªªª ] --> [ ªª ] --> [JTA] WebLogic Server f ª ª ª ªªª ª ª ª ªªª ªª WebLogic Server ªªª ª ª ªª ª ª ªª ª ª ª ª ª ªªªªª ª ª v v s Administration Console ªª ª ªªª JTA ª ªª ª ª ª ªªª ªªª ªª ªª ª ª v 9 ª ªªªªª ª ª ª ªªªªªªª ªª ª ª ªªªª ª ª v ªªª Administration Console ~s ª ªªªªª ª ª ªªª ª ª ªª ª ª ª ª ª ªªª s ª ª ª ª ªªªªªªª s ª ªªªª ª ª ª ªªª Administration Console ªª ª ªªª [ ªª 2-2 WebLogic JTA ªªªªªªª ª

ªªªªªªªª ªªªª ªªªª ª ~ ª ] --> [ ªª ] --> [JTA] ª ªªªªªªª ªª ª ªª ªªª v WebLogic Server f ª ª ªªªªª ª ª ªªª ªª ªªªªªªªª ªªªª ªªªªª ~ ªªªªªªªª ªªªª ªªªª ª ªªªª ª ªª ª ªªª ªªªªª ª ª ªªª ª ª ª JDBC ªª ª JDBC ª ª ª ~ JTA ~ h ªª ª ªªªª ªªª ªªªª ª ª u JDBC ªªª ªªªªª ª ª ª ª WebLogic Server f ª ªªªªªªªª WebLogic JTA ªªªªªªª ª 2-3

2 ªªªªªªªª ªªª ªªªªªª 2-4 WebLogic JTA ªªªªªªª ª

3 トランザクションサービス WebLogic Server ªªªª ª ªªªªª ª ª ªªªª ª ª ª v~ u w ªªªªªªªª ªªª ª h ªªªªªªªª ªªªª EJB ªªªªªªª ªªªªªªªª ªªª ª RMI ªªªªªªª ªªªªªªªª ªªª ª ªªªªªªªª ªªªª WebLogic Server EJB ª ª ªªª ª ª RMI ª ª ªªª ª ª ª ªªª ªªªª ªªªª ª ªªªªªªª ªªªª WebLogic Server EJB ªªªª ª ªªªªªªª ªªª ª Sun Microsystems s EJB 2.0 w ª ª ªª ª ª ª ª ªªª ª t EJB RMI ª ª ªªª ª ª WebLogic Server Java ª ª ªªª ª ª Java Transaction API (JTA) t Sun Microsystems javax.transaction ªªªªª javax.transaction.xa ªªªªª JTA v Sun Microsystems s Java Transaction API (JTA) 1.0.1a ª ª ªª ª ª ª ª v ª ª ªªª ª ª UserTransaction ªª ª ª v WebLogic Server Javadoc WebLogic JTA ªªªªªªª ª 3-1

3 ªªªªªªªª ªªªª h ª ª ª ª vª ª ª ª ª ª ª ª ª ª ªª ª ª ª ª ªªªªªªªª ªªªªªªªª ªªªª ªªªªªªªª ªªªªªªªª ªªª ª ª ª ªª ª ª ª ª ªªªª ª ª ª ªªªªªªªª ª ª ª ª ªªª ª EJB RMI ª ª ªªª ª ª ªªª ª ª ª ªªª ª ª ª ªªª ª h w ª ª ª ª vª ª ª ª ª ª ª ª ÿ 1 ªªª y ªª ª ª ªª ªªªª ªªª ª ªª ª ª ªª f m 1 ªªª y ªª ª ª ª ª ªªªª ª ªªªªª ª ª w ª ª ª ªªª h s ª ª ª ª ªªª ª ªªª ª ª ªª ª ª ª ª ÿy ACID ªªªª y WebLogic Server ªªªª ªª ªª ª ª ª ª ªªªªªªªª ªªªª ªª ªª vªªªª s ª ª ª ª ª ª ªª ª ª ª ª w ªªª ªªª ª ªªªªª ª ª ªªªªª ª ªªªªª ª ª ª ª ª ª ª ª ªªª ª ª 3-2 WebLogic JTA ªªªªªªª ª

h ªª ª ª ªªªªª ª ª ªªª u EJB ªª ªª RMI ª ª ªª UserTransaction ª ªª ª t ª ª ªª ª ª ª ªw ªªª ª ª ªª ª ª ª ª ªªªªª v ª ª ª ª ª ª ªªª ª ª ª ªª ª ª ª ª ª ª JNDI UserTransaction ª ª ª ª TransactionManager ªª ª ª ª ª ª ª ªª ª ª ª ª ªªª ª ª ª ª ª ª ª Transaction ªª ª ª ª ª ªª ªªªªª ((TransactionManager)tm).getTransaction() ª ªªª ª ª ªªª ª ª ª ªªªªªªªª ªªªªªªªª ªªªªªªªª ªª ª ª ª ª ªªª ª ª ªu commit ª ªªªªª ª ª v ª ªª ªªªª ª ªªª ª Open Group f u ª ªªª ~ ªªª ªªªªªªªª ª ª ªªª ª ª ª WebLogic Server ª ªªªªª ª ª ª ªªªªª ª ª ª ª ª ª : ªª ªª ªª ª ª ªªªª u ªªª ª ª ª ª WebLogic JTA ªªªªªªª ª 3-3

3 ªªªªªªªª ªªªª ªªªª ªªªªªªªª WebLogic Server ª ª ª ª ªªªªªªªª ªªª t ªª ª ªªªªªªªª ªªªª ªªªªªªªª ªªªª ª ª ªªª ª ª ª ªªªªªªªª ªªª ª ª ª ªª ª ª ª ª ªªª ªªª ªª ªª ª ªª u ~ Open Group XA ªªª ªª ªªªª Open Group Resource Manager 2 ª ªª ª ªªª ªª ª ªª Open Group XA ªªª ªª ~ ªªªªªªªª ª ªªª ªªªªª WebLogic Server Open Group Resource Manager v ªªª ª OSI TP ªªª ªª ªªªª Open Systems Interconnect Transaction Processing (OSI TP) (ISO) f ª ªªªª ª ª ª ª ª ª ªª WebLogic Server OSI TP ªªªªªªª ª v ªªª ª LU 6.2 ªªª ªª ªªªª Systems Network Architecture (SNA) LU 6.2 IBM f ª ª ªª ª ª ª ª ª ª ª ªª WebLogic Server LU 6.2 ªªªªªªªª v ªªª ª ODMG u ªªª ª ODMG-93 Object Database Management Group (ODMG) f u Object Database Management System ªªª h ªªª ªª u WebLogic Server ODMG ªªªªªªªª v ªªª ª 3-4 WebLogic JTA ªªªªªªª ª

ªªªªªªªª ªªªª ªªªªª ª ª ªªªªªªªª ªª ªª ªªª ª WebLogic Server ªªªª ª ª ª ªªªªªªªª ªª ªª ªªª ª ªª ªª t ªªªª ªªªªªªªª u s ªªªªªªªª ªªª ª WebLogic Server ª ª ª ª ªªª ªª ª ª ªª ªªªªªª ªª ªª ªªªª ª ª ª ª ªªª ª ª ª ª s } WebLogic Server Java Transaction API (Java ª ª ªªª ª ª ) ªª ª ªªª t ª ª ª ª ªªª ª ªªªªªªªª ªªªª ª ªªªªªªª ªªªª ª ªªªªªªª s s WebLogic Server ªªªª ªª ªªª ª ª ªª ª ª ª ª ª ªªª ªªª ª ª ªªªª ª ª ª ª ª ª ª ª ª ªªª ª ªªªªªªª ªª ª ªªªªªªªª ªªª ª ª ª ª ª ª ªªª ª ª ª ªªª ª ~ ª ª ª ~ y ªªª ªªªªªª u WebLogic Server f ª ª ª ª ªªªª ªªªª ª ª ª ªªª ªªªªªª WebLogic JTA ªªªªªªª ª 3-5

3 ªªªªªªªª ªªªª EJB ªªªªªªª ª ªªªªªª ª ªªªª WebLogic Server EJB ªªªª WebLogic Server EJB ªªªªªªª 2 Š ª ªªªªªªª ªªªª ªªªªªªªª ªªª ª ªªªª ªªªªªªªª ª ªªª ª ª ªª ª ª ª ª WebLogic Server EJB ªªªª ª ªªªªª ª ª v EJB ªª ª ª ª ª v~ ª ª ªª ª ª ª ª ª ªªª WebLogic Server EJB ªªªª ª ªªªª ª ª ª Bean ª ª ªªª ª ª ª Bean ª ª ªª ª ª ª ª EJB ª ª ªª ª ª ª ª v EJB UserTransaction ªª ª ª ª ª ª ª s ª ª ªª ª ª ª ª ª ª ª ª ªªªª ª ª s UserTransaction ª ª ª ª v ª ª ª Javadoc EJB ª ª ªªª ª ª ª ª ªª ª ª ª ª u ª ªªª ª ª ª ª WebLogic Server EJB ª ª ªªª ª ª ª ª ªªª ªªª ª ªªªªªªª ªªªª EJB ªªª 3-6 WebLogic JTA ªªªªªªª ª

RMI ªªªªªªª ªªªªªªªª ªªªª RMI ªªªªª ª ª ª ªªªªª ª ª ªªªª WebLogic Server WebLogic Server RMI ª ª ªªª ª ª ª ªªªªª ª ª ªªªª ª ªªªªª ª ª ªªª ª RMI ª ª ªª ªªª ªª ªª ª ª ªªª ª ª ªªª ª ª ªªª ª ª UserTransaction ªª ª ª ª ª ª ª s ª ª ªª ª ª ª ª ª ª ª ª ªªªªª ª s UserTransaction ª ª ª ª v ª ª ª Javadoc RMI ª ª ªªª ª ª ª ª ªª ª ª ª ª u ª ªªªªªªª WebLogic Server RMI ª ª ªªª ª ª ª ªªªªª ª ª ª ªªªªªªª ªªªª RMI ªªª WebLogic JTA ªªªªªªª ª 3-7

3 ªªªªªªªª ªªªª 3-8 WebLogic JTA ªªªªªªª ª

4 Java Transaction API と BEA WebLogic の拡張機能 Java Transaction API (JTA) BEA Systems JTA h w w JTA API u JTA BEA WebLogic h JTA API u WebLogic Server Java ª ª ªªª ª ª Java Transaction API (JTA) t Sun Microsystems javax.transaction ªªªªª javax.transaction.xa ªªªªª ªªªª JTA v Sun Microsystems s Java Transaction API (JTA) ( ªªª ª ª 1.0.1a) javax.transaction ªªª ªª javax.transaction.xa ªªª ªª v JTA Javadoc JTA u ª ª ªªª ª ª ª ª ªªª ª ª ª v ª ª ªªª ªªª ªªª ªª javax.transaction.usertransaction ªªª ªª Java ª ª ªª ªªªªª ÿ EJB Bean ª ª ªª ª ªªª ÿ ªªªªªªªª ªªªªª ª ª ªªª ª ª ª ªªªªª ª ª v ªªªªªªªª ªªª ªª WebLogic JTA ªªªªªªª ª 4-1

4 Java Transaction API BEA WebLogic h javax.transaction.transactionmanager ªªª ªª ª ªªª ª ª ªª ª ª ª ª ÿ EJB ªªªª ªªª ªª javax.transaction.transaction ªª ª ªª ª ªªªªª ª ª s ªªªªªªªª ªªªªª ª ª ªªª ª ª ªªª ªªªª ª ª ª ª ªª javax.transaction.status javax.transaction.synchronization ªªª ªª ª ªªªªªª ª ªªªªª ª ªª ªª ªªª ª ª ªªªªª ÿ ªªªªªªªª ªªªªª XA ªªªª ªªªª ªªªªª ~ ª ª ª ªª javax.transaction.xa.xaresource ªªªªªªªª ªªªªª ªªªªªªªª x ªªª ªª javax.transaction.xa.xid ªªª ªª ªªªªªªª ª ªªªªª ªªª ª ª ªªª ª ª ªªªªª ÿ JTA BEA WebLogic h Java Transactions API h JTA t ªª tz h u BEA WebLogic JTA u h ª ª ª ª ª ª ªª ª ª ª ª JTA ªªªªªªªª ªªª ªª ªªª ªª (javax.transaction.transactionmanager) JNDI ~ ªª ªª Bean ªªª ª h h ªª ªª Bean ª ª ªª ª ª ª ª EJB ªªªªªªªª ªªªªª : ªªªª ª ª ª ªªª ª ª ª ªªªª ª ªªª ªªªª u ªªªªªªªª ªªªª ª ªªªªªªª ªªªª ª ª ª ªªªª ªª ª h 4-2 WebLogic JTA ªªªªªªª ª

JTA BEA WebLogic h BEA WebLogic JTA h ª ª ª ª ª ª ªª weblogic.transaction.rollbackexception (javax.transaction.rollbackexception ) ªªª ªªªª ª ª weblogic.transaction.transactionmanager (javax.transaction.transactionmanager ) WebLogic JTA ªªªªªªªª ªªªªª ªª ª ª XA ªªª ª z ª ªªªªªªª ªªªªª ƒ s ƒ u ªªª ªª ªªª ª ªªª ªª ª ªªªªª ª ª ªªªª ª ªªª ªª ª ª ª ª registerstaticresource registerdynamicresource unregisterresource gettransaction forceresume forcesuspend begin weblogic.transaction.transaction (javax.transaction.transaction ) WebLogic JTA ªªªªªªªª ªª ª ª ªªª ª ª ªª ª ªªª ª ªªª v ª ª ª ªª ªªª ª ªªª ªª ª ª ª ª setname getname addproperties setproperty getproperty getproperties setrollbackreason getrollbackreason getheuristicerrormessage getxid getxid getstatusasstring getmillissincebegin WebLogic JTA ªªªªªªª ª 4-3

4 Java Transaction API BEA WebLogic h gettimetolivemillis istimedout weblogic.transaction.txhelper ª ª ª ª ª ªª ª ª ª ª ªªªªª ª ªª ªªªªª ª ª ª ªª ˆ ªªªª gettransaction getusertransaction gettransactionmanager status2string weblogic.transaction.xaresource (javax.transaction.xa.xaresource ) ªªª XA ªªªª ªªª ª ª ª ªª ª ª ª ª getdelistflag javax.transaction ªªª ªª javax.transaction.xa ªªª ªª WebLogic h v weblogic.transaction ªªªªª w 4-4 WebLogic JTA ªªªªªªª ª

5 EJB アプリケーションのトランザクション ªª ª ªªªªªªªª ªªªªªªªª ªªªªªªªªªªªª ªª ªªªªª ªªªªªªªª ªªªªªªªª ª ª ª v EJB ªªªªªªªª BEA WebLogic Server ªªªªª ª JavaBean (EJB) ª ª ªªª ª ª ª ª ªª ª ª ª ª t w WebLogic JTA ªªªªªªª ª 5-1

5 EJB ªªªªª ª ª ª ªªªªªª ª Š 1 ª ªªªªª ª ª w u WebLogic Server EJB ª ª ªªª ª ª ª ªªªªª ª ª ª ªªªªª ª ª ªªªª EJB ªªª ªªªªª ª JavaBean ª ª ªª ª ª ª ª BEA WebLogic Server t w w Sun Microsystems s EJB 2.0 tz : w ~ EJB 2.0 ªª ª ª ª ª 16 Support for Transactions ªª ª u u WebLogic Server ª ª ªªª ª ª ªªªªª ª JavaBean t WebLogic ªªªªª ª JavaBeans ªªªªªªª ª (http://edocs.beasys.co.jp/e-docs/wls/docs70/ejb/index.html) ªª ª ª ª ª WebLogic Server EJB ªªªªªªª ªªª ªªª ª ª t EJB ª ª ª ª ª ªªªªª ª ª ªªª ª ª ªªªªª ª ª ªª ª EJB t ª ª ªª ( ªªªªªª ) ªªªª ªªªª EJB CMP 2.0 EJB CMP 1.1 2 ª ªª ª ªªª ªª ª ªª ªªª ª WebLogic Server JTA XA ª ªªª ªªª ª WebLogic Server XA ªªªª ªª ª 5-2 WebLogic JTA ªªªªªªª ª

ªªªªªªªª WebLogic jdriver for Oracle ªª ªªª ªªªªª ªªª WebLogic jdriver for Oracle/XA ª ª ª ª ª ªª ª ª ªª ª ª ª ª ª ªªªªª ª ª v ª ªªªª ª ª ª ~ EJB WebLogic Server ªªªªª ªª ª TxDataSource- ªªªªªª ª ªª ª WebLogic Server ªªªªª TxDataSource ªªªªªªªª EJB ª ª ªªª ª ª ªª ªªª ª EJB ª ª ª ª ª w v WebLogic ªªªªª ª JavaBeans ªªªªªªª ª WebLogic Server EJB ªªªª WebLogic Server ªªªªªªªª ªªªª ªª ª h ªªªªªªªª EJB ª ª ªª ª ª ª ª ª ªªª ª ª ªª ª ª ª ª ª ª ªª ª ª ª ª Bean ª ªªªªª ª ª ª ªªªªª ª ª EJB ª ªªªªª ª ª ªªªªªªªª ªªªªªªªª EJB ª ª ªªª ª ª EJB ª ª ªª ª ª ª ª ª ª ªª ª ª ª ª WebLogic Server EJB ªªªª v ( ªªªª ª ªªªªªªª ) EJB i v (Bean ª ª ªª ª ª ª ª ) EJB ªªªª Bean ªªª ªª ªv~ WebLogic JTA ªªªªªªª ª 5-3

5 EJB ªªªªª ª ª ª ªªªªªª ª transaction-type u v transaction-type u v EJB 2.0 16 ª ª ªª ª ª ª ª ªªª ª 21 ªª ª ª ª ª v~ Bean ª ª ªª ª ª ª ª ª ªªª ª ª ªª ª ª ª ª ªªªªªªª ªªª ªª ªª ª ªªª ª ª ªª ª ª ª ª ª ª ª ª ª ª ª ª u WebLogic Server EJB 2.0 ª ª ª ª ª 16.4 f ª ª ª ª ªªª ª ªªªªª ª ª ªªªªª ª ªªªª ªªªªªªªª ªªªªªªª ª ªªªª ª ªªªªª ª ª ª ª ªª ª ª ª ª ªªª ª ª ªv~ container-transaction u ª ªªª ª ª ª ª ª ª ª ª ªª ª Bean transaction-type Container v ªªªª ªª ªªªª ªª ªªª ª ª Bean u v WebLogic ªªªªª ª JavaBeans ªªªªªªª ª EJB ªªªª ª ª ª ª ª ª ªª ª ª ª ª NotSupported Supports Required RequiresNew Mandatory Never trans-attribute v WebLogic Server EJB ª ªªª h EJB 2.0 ªªª ª ª 16.7.2 5-4 WebLogic JTA ªªªªªªª ª

ªªªªªªªª ªª ª ª ª ª v~ ª ª ª f WebLogic Server EJB ªªªª i ª ª ªª ª ª ª ª ª ª ª v ªªªª TimeoutSeconds ªªª ªªªªª ª ªª ªªª ªª ªª timeout 30 ªªªªªªªª ªªª ªªªªªª ªª ªªª v ªªª ª 2 ª ª ªª ª ª ª ª ª ª ª ª ªªª ª ª Administration Console ªª ª ªªª ª ªªª ª ª ªª ª ª ª ª EJB EJB javax.transaction.usertransaction ªªª ªª ªªª ª ªªªªª ª ª ªªªª ªª ÿi ª ªªª ª ª ªª ª ª ª ª EJB javax.ejb.ejbcontext ªªª ªª setrollbackonly ªªªª getrollbackonly ª ª ª ª ªªª ª (EJB 2.0 ªª ªªª 16.4.4.2 16.4.4.3 u u ) Bean ªªªªªªªª ªªªªªªªª Bean ª ª ªª ª ª ª ª Bean javax.transaction.usertransaction ªªª ªª ª ª ª ª ª ªªªªªªª v Bean ª ª ªª ª ª ª ª transaction-type Bean v ªªªª ªª ªªªª ªª ªªª ª ª Bean ªª ª Bean Bean ª ª ª ª ª ª ª ª ªªªª ªª ªªªªª Bean ª ª ªª ª ª ª ª ªªª ª ªª ÿi ªªªªªª ªªªªª Bean ª ª ªª ª ª ª ª ªªªª ªª ÿi u ÿi WebLogic Server EJB ªªªª Bean ª ª ªª ª ª ª ª ~ WebLogic JTA ªªªªªªª ª 5-5

5 EJB ªªªªª ª ª ª ªªªªªª ª Bean ª ª ªª ª ª ª ª ª ª ª ª ª Bean javax.ejb.ejbcontext ªªª ªª setrollbackonly ªªªª getrollbackonly ª ª ª ª ª ª ªªª ª ª ª EJB 2.0 ª ªªªªª ª ª s Bean BEA u Bean ªªªªªªªª ªªªª ªª ( ªªªª ªªªªªªªª) Bean ªª ªª Bean ªªªª UserTransaction API ª ªªªªª ª ª (Bean ª ª ªªªª ª ª ) ª ª ª ª Bean ª ªªª ª ª ªª ª ª ª ª ª ªªª ª ªªªªªªªªªªªª ªª ªªªª ª ªªªªª ª ª ª ªªªªª ª ª ªªªª ª ª Bean ª ªªªªªªª ª ªªªªªªª ªªªª ª ª EJB 2.0 EJB Š ( ªª ª Bean ªªªªªª ªªªª ª Bean ªªªªªª ªªªªª Bean) ªªªªªªªª Š ( ªª ªª Bean ) ª ª ªª ª ª ª ª ªªªª ª ª u ªªªª ª ª ª ª ª ª ª ª ªª ª ª ª ª ªªªª ªª u EJB javax.transaction.usertransaction ªªª ªª ª ª ª ª ª ªª f EJB ª ª ªªª ª ª ªªªª ª ª vv u 5-6 WebLogic JTA ªªªªªªª ª

ª ªªªªªªªªªªª ªª ªªªª ªªªªªªªª ªªªªªªª ª ªªªª ªª ª ªªª ª ª ªª ª ª ª ª ª ª ªª ª ª ª ª ªªªª ª ª Bean Š ªªªª ªª ªªªªª Bean ªªªªªªªª ªªª ª ªª s 5-1 ª ªªª ª ª ªª ª ª ª ª ª ªª ª ªª ªªªªª Bean ªªªªªªªª ªªªª ª ª s 5-1 ªªªª ªªªªªªªª ªªªªªª ªªªªª Bean ª ªªªªªªª ªªªª ªª ªªªª ªªªª z ª ªªªªª ª ª ªª ªªª ª ªªª ªªªªª ªªª ªªªª ªªª ª ª ª ª ª ª ª setsessioncontext() ejbcreate() ejbremove() ejbactivate() ejbpassivate() ªªªª ªªªª ªªªªªªªª afterbegin() beforecompletion() aftercompletion() WebLogic JTA ªªªªªªª ª 5-7

5 EJB ªªªªª ª ª ª ªªªªªª ª ªªªª ªª ªªªªª Bean ªªªªªªªª ªªª ª ªª s 5-2 ª ªªª ª ª ªª ª ª ª ª ª ªª ª ª ª ªªªªª Bean ªªªªªªªª ªªªª ª ª s 5-2 ªªªª ªªªªªªªª ªªªªªª ªªªªª Bean ª ªªªªªªª ªªªª ªª ªªªª ªªªª z ª ªªªª ª ª ª ªª ªªª ª ªªª ªªªªª ªªªªªªª ªªª ªªª ª ªªª setsessioncontext() ejbcreate() ejbremove() ªªªª ªªªª ªªªªªªªª ªª ª Bean ªªªªªªªª ªªªª ªª s 5-3 ª ªªª ª ª ªª ª ª ª ª ªª ª Bean ªªªªª ªªª ªªªª ª ª s 5-3 ªªªª ªªªªªªªª ªª ª Bean ªªªªª ªªª ªªªª ªª ªªªª ªªªª z ª ªªªª ª ª ª ªª ªªª ª ªªª ªªªªª ªªªªªªª ªªª ªªª ª ªªª setentitycontext() unsetentitycontext() 5-8 WebLogic JTA ªªªªªªª ª

ª ªªªªªªªªªªª ªª s 5-3 ªªªª ªªªªªªªª ªª ª Bean ª ªªªª ªªª ªªªª ªª ( ) ªªªª ªªªª z ª ªªªªª ª ª ªª ªªª ª ejbcreate() create ªªªªª ªªª ejbpostcreate() create ªªªªª ªªª ejbremove() remove ªªªª ª ª ª ª ejbfind() find ªªªªª ªªª ªªª ªªªªª ªªªªªªª ªªª ejbactivate() ejbpassivate() ejbload() ejbstore() ejbload() ª ªªª ªªªª ªªªªª ªªª ejbstore() ª ªªª ªªªª ªªªªª ªªª ªªªª ªªªª ªªªªªªªª Bean ªªªªªªªª ªªªªªªªª ªªªª ªª Bean ª ª ªª ª ª ª ª ª ª ªª ª ª ª ª ªªªª ª ª ª ªª ª ªª ªªª ª ª ª ª ª ª ª ª Bean ªª ª Bean Bean ª ª ªª ª ª ª ª WebLogic JTA ªªªªªªª ª 5-9

5 EJB ªªªªª ª ª ª ªªªªªª ª ªªªª ªª ªªªªª Bean ªªªªªªªª ªªª ª ªª s 5-4 Bean ª ªªªªª ª ª ªªª ª ªª ªªªª ª Bean ªª ªªªª ª ª ªªªª ª ª s 5-4 Bean ª ªªªªª ª ª ªªªª ªª ªªªªª Bean ª ª ªªªª ª ª ªªªª ªª ªªªª ªªªª z ª ªªªª ª ª ª ªª ªªª ª ªªª ªªªªª ªªªªªªª ªªª ªªª ª ªªª setsessioncontext() ejbcreate() ejbremove() ejbactivate() ejbpassivate() ªªªª ªªªª ~ Bean ª ª ª ª s ª ª ªª ª ª ª ª ªªªªª ª afterbegin() ˆ ˆ beforecompletion() ˆ ˆ aftercompletion() ˆ ˆ 5-10 WebLogic JTA ªªªªªªª ª

ª ª ª ª ª ªªªª ªª ªªªªª Bean ªªªªªªªª ªªª ª ªª s 5-5 Bean ªªªªªªªª ªªªªªª ªªªªª Bean ªª ªªªª ª ª ªªªª ª ª s 5-5 Bean ª ª ªªª ª ª ª ªªª ª ªª ªªªªª Bean ªª ªªªª ª ª ªªªª ªª ªªªª ªªªª z ª ªªªªª ª ª ªª ªªª ª ªªª ªªªªª ªªªªªªª ªªª ª ª ª ª ª ª ª setsessioncontext() ejbcreate() ejbremove() ªªªª ªªªª ªªªªª ª ªªª ª ª ªª ª ª ª ª ª ªª ª ªª ªªªªª Bean javax.ejb.sessionsynchronization ªªª ªª t ª ªªª ªªªª ~ ª ªª ª ªª ªªªªª Bean ªªªª REQUIRES_NEW MANDATORY REQUIRED ª ªªªªªªª ªªªª javax.ejb.sessionsynchronization ªªª ªª v EJB 2.0 ªªª ª ª 6.5.3 WebLogic JTA ªªªªªªª ª 5-11

5 EJB ªªªªª ª ª ª ªªªªªª ª ª ª ªªª ª ª ª Bean SessionSynchronization t ~ WebLogic Server EJB ªªªª ªªªªªªªª ªªªª Bean ªªªªª ª s afterbegin() beforecompletion() aftercompletion() EJB ªªªª beforecompletion ªªªª Bean XA ª ª ªª ~ beforecompletioniterationlimit ªªªªªªªª ªªªªªª ªªªªªª ª ª ª ª ªª ƒ ªª ª ª beforecompletion ªªªª ª ª ª ªªª ~ ªª ª ª ƒ ª ªª e } ªªªªªªªª ª ª ª v EJB ª ª ªªª ª ª ª ªªªªª ª ª ª ª ª ªªªªªªªª ª ª ª v z ª ª ªª ª ªªª ªªªª ª ªªªªª ª ª i ªªªª ª ª : ªªªªªªªª begin() s ª ª ª v u ª ª ª v ª ªªªªªªª ª ª ª ª ª ªª ª ª ª ª Š ªªªª ªªªªªªªª weblogic-ejb-jar.xml ªªª ª ª ª v~ trans-timeout-seconds ª ª ª ª ªªª ª ª v WebLogic Server f ª 5-12 WebLogic JTA ªªªªªªª ª

EJB ª ª ªªª ª ª ª weblogic-ejb-jar.xml ªª ª ª ª ª v~ trans-timeout-seconds ª ª ª ª ªªª ª ª u Bean ª ªªªª ª ª ª ªªªªªªª UserTransaction.setTransactionTimeout ªªªª EJB ª ª ªªª ª ª ª WebLogic Server EJB ª ª ªªª ª ª ª ª ªªª ª ª ª ~ ~ u v Sun Microsystems s EJB 2.0 17 EJB ª ªªªªª ª ª ªªªª ªªªª ~ ª ªª ª ª 17.3 s 12 ( ª ªªª ª ª ªª ª ªªª) s 13 (Bean ª ª ªª ª ª ª ª ) ªª ªª u u ª ª ª ª ª 17.4 ªªª ª ª 12.4.1 ( ªªªªªªª ) ªªªªª 17.4.2 (java.rmi.remoteexception) ªªªªª 17.4.2.1 (javax.transaction.transactionrolledbackexception) ªªªªª 17.4.2.2 (javax.transaction.transactionrequiredexception) WebLogic JTA ªªªªªªª ª 5-13

5 EJB ªªªªª ª ª ª ªªªªªª ª 5-14 WebLogic JTA ªªªªªªª ª

6 RMI アプリケーションのトランザクション ÌÍ Ê ÏÏÒÖÏ Ê ÉÊÂBEA WebLogic Server É ÈÍ RMI ÎÔÖÐ ÑÕ ÉÂ ÒÖ ÐÐÑÕ Î ÈÍÉÌÊÏÏÒÖÏ ÉÈÊ ÊÖÔÎÖ ÑÎ ÈÌÈÂ ÌÍ Ê ÏÏÒÖÏ ŠÊ Í ÊÂ 1 ÃÒÖ ÐÐÑÕ ÊÉÆÉÃÊ Ê Ê Î È ÉÇÉÈÆÂ 1-10 Ô ÑÊÃWebLogic Server RMI ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ Ã 1-15 Ô ÑÊÃÒÖ ÐÐÑÕ ÊÐ ÔÖ RMI Ð ÒÃ RMI ÎÔÖÐ ÑÕ Êv ÊÉÆÉÊÂÃWebLogic RMI over IIOP ÔÖÐÖ Ô Ñ ÏÏÒÃÎ ÈÉÇÉÈÆÂ ÊÏÏÒÖÏ ÊÂWebLogic Server ÇÊ RMI ÎÔÖÐ ÑÕ ÉÒÖ ÐÐÑÕ Î tèíéçê ÈÍÌÈÂ WebLogic Server ÉÊÂÔÖÒÒ ÒÖ ÐÐÑÕ ÊÌÇÐÔ ÒÈÍÉÆ ÌÈÂÒÖ ÐÐÑÕ ÎÓÑÒÈÍÇÉÊÉÇÌÈÎÂ WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 6-1

6 RMI ÎÔÖÐ ÑÕ ÊÒÖ ÐÐÑÕ ÊÔÖÐÖÕ Ð Î ÈÉÒÖ ÐÐÑÕ Î ÈÌ ÈÂÉÉÆÊÂÒÖ ÐÐÑÕ Ê Î Êv ÈÍÉÂÒÖ ÐÐ ÑÕ Ê Ç~ÇÊÍÌÈÂ RMI ÎÔÖÐ ÑÕ ÉÊÂÒÖ ÐÐÑÕ ÉÐ ÖÓÒÐ ÏÔÑÏÐ ÒÎ ÈÍÇÉÇ ÈÍÉÆÌÈÎ (WebLogic Server É ÉÇÊÆÉ Ì )ÂÐ ÖÓÒÐ ÏÔÑÏÐÒÊv ÊÉÆÉÊÂÃWebLogic RMI ÔÖÐ ÖÔ Ñ ÏÏÒÃÎ ÈÉÇÉÈÆÂ RMI ÎÔÖÐ ÑÕ ÉÊÂRMI ÐÖÏÎ ÒÇÒÖ ÐÐÑÕ Î ÉÇÌÈÇÂÈËÉÊÒÖ ÐÐÑÕ Ê WebLogic Server ÎÔÑÒÉ ÈÍÐ Ó ÏÔÑÏÐÒÌÉÊÖÕ Ò ÏÔÑÏÐÒ ÉsÍÍÍ uç ÆÍÌÈÂÐÖÏÎ Ò JVM ÉÔÑÒÈÍÍÖÕ Ò ÏÔÑÏÐÒÊÂ ÒÖ ÐÐÑÕ Ê ÉÇÌÈÎÂ ÉÈÉÊÂÐÖÏÎ Ò JVM ÊÖÕ Ò ÏÔÑÏÐÒÎ Ë È ÊÒÖ ÐÐÑÕ Î ÈÂÖÕ Ò Ç ÈÉ ÉÒÖ ÐÐ ÑÕ Î ÈÌÈÂ WebLogic Server ÒÖ ÐÐÑÕ Ð ÓÑÊÏÏÒÖÏ ÊÉÆÉÊÂÃ h É ÃÎ ÈÉÇÉÈÆÂ 6-2 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

7 WebLogic Server でのサードパーティ JDBC XA ドライバの使い方 ÇÊ ÉÊ Ê ÊÉÆÉw ÈÌÈ 7-1 Ô ÑÊÃÐ ÒÓ ÒÏ XA ÒÖÏÓÊ uã 7-2 Ô ÑÊÃÐ ÒÓ ÒÏ ÒÖÏÓÊÐ ÔÏÐÖ ÑÕ ÉÓÔÏ Ô Ñu à РÒÓ ÒÏ XA ÒÖÏÓÊ u ÇÊ ÉÊ ÒÖ ÐÐÑÕ ÊÆÇÍ WebLogic Server ÉÊÐ ÒÓ ÒÏ JDBC 2 ÒÖÏÓÊ Æ ÊÉÆÉw ÈÌÈÂÇÍÍÊÒÖÏÓÊ WebLogic Server Ô ÖÉ DBMS Ê Ê Î ÈÌÈ ÒÖ ÐÐ ÑÕ É ÈÍÒÖÏÓÊ ÊÃ/XAÃÇ ÇÒÖÏÓ (Oracle Thin/XA ÒÖÏÓÊÊ ) ÊÍÉÉ ÈÍÌÈ РÒÓ ÒÏ XA ÒÖÏÓÊs ÊsÊÂÐ Ò Ó ÒÏ JDBC/XA ÒÖÏÓÎ WebLogic Server É ÈÍ Ê v ÌÊ hêéæé ÈÌÈ WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 7-1

7 WebLogic Server ÉÊÐ ÒÓ ÒÏ JDBC XA ÒÖÏÓÊ Æ s 7-1 2 JDBC/XA ÒÖÏÓ ÒÖÏÓ / Ò ÑÔ Ñ w ÊÓ ÑÕ Oracle Thin ÒÖÏÓ XA ÒÖÏÓ Ó ÑÕ 8.1.7Â9.0.1Â 9.2.0Â10.1.0 Ò ÑÔ Ñ Ó ÑÕ 8.1.7Â 9.0.1Â9.2.0Â10g 7-3 Ô ÑÊÃOracle Thin/XA ÒÖÏÓ Ê Æ ÃÎ Â Sybase jconnect/xa ÒÖÏÓ Ó ÑÕ 5.5 Adaptive Server Enterprise 12.0 7-10 Ô ÑÊÃSybase jconnect 5.5/XA ÒÖÏÓÊ Æ ÃÎ Â Ð ÒÓ ÒÏ ÒÖÏÓÊÐ ÔÏÐÖ ÑÕ ÉÓÔÏ Ô Ñu ÊÂWebLogic Server É ÊÐ ÒÓ ÒÏ XA ÒÖÏÓÎ ÈÍÉÌÊ u ÉÏÏÒÖÏ Î ÈÌÈÂ : ÇÇÊ ÈÍÉÆÊÆÐ ÒÓ ÒÏ ÒÖÏÓÎ ÈÍ Â Ô Ö ÔÖÓÒÏÊ~ v Ç uéêí ÇÆÍÌÈÂv ÊÉÆ ÉÊÂÃ fïïòãêã~ Ê XA Ô Ö ÔÖÓÒÏÃÎ ÈÉÇÉÈÆÂ 7-2 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

Ð ÒÓ ÒÏ ÒÖÏÓÊÐ ÔÏÐÖ ÑÕ ÉÓÔÏ Ô Ñu Oracle Thin/XA ÒÖÏÓÊ Æ WebLogic Server ÊÓ ÒÖÈÍÉ Oracle Thin Driver 10g Ê ÊÐ ÔÏÐ Ö ÑÕ ÈÍÂÈÊÌÌ ÉÇÍ ÊÊÉÉÆÌÈÂÈÊ ÊÓ ÑÕ Ê Oracle Thin Driver Î ÈÍ ÊÂÃWebLogic JDBC ÔÖÐÖÔ Ñ ÏÏ ÒÃÊÃOracle Thin Driver Ê ÌÉÊ ÃÎ ÈÉÇÉÈÆÂ WebLogic Server É Oracle Thin/XA ÒÖÏÓÎ ÈÍÉÌÊ Î Ê É ÈÌÈÂ Oracle Thin/XA ÒÖÏÓÊÑÔÒÏÏÎu Oracle Thin/XA ÒÖÏÓÊÑÔÒÏÏÎu Ê ÊÉÆÍÉÈÂ JDK 1.2.x (JDK 1.3.1_XX Î Ì WebLogic Server) Ð ÓÊÓ ÑÕ Ê WebLogic Server É ÈÉÆÍÒÖÏÓÊÓ ÑÕ ÉÿiÈÍ uçæíâééæêâoracle Thin/XA ÒÖÏÓ Ó ÑÕ 8.1.7 Î ÈÉÆÍ ÊÂOracle Ð ÓÌÓ ÑÕ 8.1.7 ÎÏ ÑÒ ÖÈÉÇÉÈÆÂ WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 7-3

7 WebLogic Server ÉÊÐ ÒÓ ÒÏ JDBC XA ÒÖÏÓÊ Æ Oracle Thin 8.1.7/XA ÒÖÏÓÊ v ÌÊ Š ÊsÊ v ÌÊ ŠÉ BEA Ê Î ÈÌÈÂ. s 7-2 Oracle Thin ÒÖÏÓÊ v ÌÊ ŠÉ w Oracle ÊÓÐ w /WebLogic Server Ê ª ª ª ªªª ª ª 9.2.0.1 ªª ÿ ª ªªªªª ªª ª EJB (1.x) ªªªª s ~ Bean u NoSuchEntityException ~ ªª WebLogic Server 7.0SP2 ªª ªªª Oracle Thin Driver 9.2.0 : Oracle ªª ª ªª ªªª WebLogic JDBC ªªªªªªª ª Oracle Thin Driver 7-4 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

Ð ÒÓ ÒÏ ÒÖÏÓÊÐ ÔÏÐÖ ÑÕ ÉÓÔÏ Ô Ñu s 7-2 Oracle Thin ÒÖÏÓÊ v ÌÊ ŠÉ w Oracle ÊÓÐ w /WebLogic Server Ê Oracle Thin Driver 9.2.0.3 ªªª ª ª WebLogic Server z XAER_PROTO ªª ªªª Oracle Thin Driver ªªª ª ª 9.2.0.1 9.2.0.2 Long raw ªªªª BLOB ªªªª BLOB blob.length() SQL ªª ª ªª~ 2717235 ªªª z WebLogic Server XA.recover() ª ª ªª ª ª ª ª Oracle Thin Driver 9.2.0.3 ªªª ª ª Oracle DBMS ªª ª ª ªªªªªªª ªªªªª ª ª ª ªª ª ªªªªªªªª ª ª ªªªª ª ª ªªª ªªªªªªª ªª ª ªªªªªªªª XAER_PROTO ªª ~ (TestConnsOnReserve true v ª ª ª ) WebLogic Server ª ª ªª ƒ u ª ªªª ª ªªªªª ª ª ÿ ªªª u Oracle ªª ªªª ªªª Oracle Metalink Web ª ª ª ª ªªª Oracle ªª 2717235 Š ªªª ª ª 9.2.0.4 10G 2696397 Š ªªª ª ª 9.2.0.3 10G WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 7-5

7 WebLogic Server ÉÊÐ ÒÓ ÒÏ JDBC XA ÒÖÏÓÊ Æ s 7-2 Oracle Thin ÒÖÏÓÊ v ÌÊ ŠÉ w Oracle Thin Driver 9.2.0.1 9.2.0.2 ªªª setnull addbatch s Null ª ªª Oracle Thin Driver 9.2.0 1. pstmt.setnull(1, java.sql.types.real) 2. pstmt.addbatch() 3. pstmt.setnull(1, java.sql.types.varchar) Oracle Thin Driver ªªª ª ª 9.2.0.1 9.2.0.2 Long ªªªª CLOB ªªªª CLOB clob.length() SQL ªª ª ªª~ Oracle ÊÓÐ w /WebLogic Server Ê Š ªªª ª ª 9.2.0.3 10G : ÇÊÑÒÖÏÉÊ clob.length() Î Ë È Ê LONG ÏÖÕÎwÌ}ÌÇÉÇÉÇ Í Š ªªª ª ª 9.2.0.3 10G Oracle Thin Driver ªªª ª ª 9.2.0.1 9.2.0.2.0 alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' ªª ªª Oracle ª ªªªªª ªªª ª ª h ORA-01453 - SET TRANSACTION ªª ªª ª ª ª ª u 2632931 TAR 2677656.995 9.2.0.2.1 Oracle ªª ªªª ªªª Oracle Metalink Web ª ª ª ª ªªª Oracle ªª 2632931 Oracle Thin/XA Driver ª ª ªªª ª ª ª ª ª ªª ª ªªª ªªªªªª ªªª ªªªªªªªª ªªªªªª v ªª ª ª ª ª ªªªª ª ª ª ªªª ª ª 7-6 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

Ð ÒÓ ÒÏ ÒÖÏÓÊÐ ÔÏÐÖ ÑÕ ÉÓÔÏ Ô Ñu s 7-2 Oracle Thin ÒÖÏÓÊ v ÌÊ ŠÉ w Oracle ÊÓÐ w /WebLogic Server Ê ORA-01002 - ª ª ª XAResource.end(TMSUSPEND) XAResource.start(TMRESUME) ª ª ª ORA-01002 Oracle Thin Driver WebLogic Server ªªª ªª ª ª ªª ª ª ª ª ª ª ª ª ~ ª ª ªª ª ªªª ªªªªª ªªªªª ª ª ªªª ª ª ª ª ªª ª ª ªªªª ªªª ªªª ª ª s ªª ª ª ª ªªª ª ª ª ªªªªª ª ªªªªª ªª XA XAER_RMERR ª ª ªªª ª ª ªª ª ªªª ªªªª ª ª ª ª ª v ( i ª ª ª ª true v Connection.commit() ) Oracle XA Driver SQLException: Use explicit XA call } ª ª ª ª ª ª ª ª ª ª v Oracle Thin Driver ªª ªª ª ª ª ª ª ª Bean ªª ª Oracle ª ª ªªª ª ª XA ªª ª s ª ªªªª ªªªªªªªª ªªªª ª ª Bean ªªªª ªªª ªªªª ª Required RequiresNew Mandatory u WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 7-7

7 WebLogic Server ÉÊÐ ÒÓ ÒÏ JDBC XA ÒÖÏÓÊ Æ Oracle Thin/XA ÒÖÏÓÊ Êv WebLogic Server ÊÐ ÔÏÐÖ ÑÕ WebLogic Server ÊÓ ÒÖÈÍÉ Oracle Thin Driver 10g Ê ÊÐ ÔÏÐ Ö ÑÕ ÈÍÂÈÊÌÌ ÉÇÍ ÊÊÉÉÆÌÈÂOracle Thin ÒÖÏ Ó Ó ÑÕ 9.x Î ÈÍ ÊÂWL_HOME\server\lib Ê classes12.zip ÊÓ ÑÕ ÎÓ ÑÕ 9.x Ê ÆÍ uçæíìèâãweblogic JDBC ÔÖ ÐÖÔ Ñ ÏÏÒÃÊÃOracle Thin Driver Ê ÌÉÊ ÃÎ ÈÉÇÉ ÈÆÂ : XA ÊÒ ÑÔ Ñ Ð ÓÉÊ classes12.zip ÔÎÏÖÊÂWL_HOME\server\lib ÔÏÖÑÊÆÍÂÔ ÓÔÏÑÒ ÔÎÏÖ weblogic.jar É ÈÍÌÈÂWebLogic Server Îz ÈÍ ÊÂÒÖÏÓÇi ÊÖ ÒÈÍÂWebLogic Server É ÈÍ Ç ÆÌÈÂÇÊÒÖÏÓÎ WebLogic Õ ÒÏÖÒÏÌÉ Ê ÊÎÔÖÐ ÑÕ É ÈÍÊÊÂÇÊÔÎÏÖÊÓÑÎ CLASSPATH É ÈÍ uçæíìèâ XA ÊÒ ÑÔ ÑÎ ÈÍÊÊÂ Ê Î sèìèâ ÑÑÒÕ Õ ÐÉÈÉ sqlplus ÊÖÐÏ ÈÌÈ (sqlplus sys/change_on_install@<database ALIAS NAME> ÊÊ )Â grant select on DBA_PENDING_TRANSACTIONS to user ÉÆÆ SQL Î sèìè (user Ê Ô ÖÊÒ ÑÔ Ñ Î ÈÍÉÌÊ È ÍÕ Ð ÎÏÏ Ò )ÂÇÊÐÔ ÒÊÂWebLogic Server ÒÕÏ Ê XA Ô ÖÉ ÈÍÕ Ð ÎÏÏ ÒÇÉÊ sèìèâ Ê ÎÒ ÑÔ Ñ Ð Ó É sèêæ Â~ Ê XA Ò ÑÔ Ñ ÐÏÖÉ Ê Ê ÉÇÌÈÂÉÉÈÂÐÖÒÑÕ Ê z Ê ÇÂ WebLogic Server ÒÖ ÐÐÑÕ ÔÓ ÑÕÇ ÎsÆÉÇÊÂOracle Ö Ñ Ñ Ê Ê XAER_RMERR ÊÊÍ ÈÌÈÂÐÖÒÑÕ ÊÂXA ÖÑ ÑÊ ÈÍ Ê ÉÈÂ 7-8 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

Ð ÒÓ ÒÏ ÒÖÏÓÊÐ ÔÏÐÖ ÑÕ ÉÓÔÏ Ô Ñu Oracle Thin/XA ÒÖÏÓÊÐ ÔÏÐÖ ÑÕ ÔÖÓÒÏ ÊsÊÂ Ô ÖÊÐ ÔÏÐÖ ÑÕ ÊÉÌÊÐ ÔÖ Ð ÒÎ È ÌÈÂ Oracle Thin/XA ÒÖÏÓ : Ô Ö Ð ÔÏÐÖ ÑÕ ÔÖÓÒÏ ÔÖÓÒÏ Name jtaxapool Targets URL DriverClassname myserver,server1 jdbc:oracle:thin:@servername:port(typically 1521 on Windows):sid oracle.jdbc.xa.client.oraclexadatasource Initial Capacity 1 MaxCapacity 20 CapacityIncrement 2 Properties user=scott password=tiger ÊsÊÂTxDataSource ÊÐ ÔÏÐÖ ÑÕ ÊÉÌÊÐ ÔÖ Ð ÒÎ ÈÌÈÂ s 7-3 Oracle Thin/XA ÒÖÏÓ : TxDataSource ÊÐ ÔÏÐÖ ÑÕ ÔÖÓÒÏ ÔÖÓÒÏ Name jtaxads Targets JNDIName PoolName myserver,server1 jtaxads jtaxapool WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 7-9

7 WebLogic Server ÉÊÐ ÒÓ ÒÏ JDBC XA ÒÖÏÓÊ Æ Sybase jconnect 5.5/XA ÒÖÏÓÊ Æ Sybase jconnect 5.5/XA ÒÖÏÓÎ ÈÍ Ê uêð ÔÏÐÖ ÑÕ ÉÓÔÏ Ô Ñ ŠÎ Ê É ÈÌÈÂ Sybase jconnect 5.5/XA ÒÖÏÓÊ v ÌÊ Š ÊÂ v ÌÊ ŠÉ BEA Ê Î ÈÌÈÂ s 7-4 Sybase jconnect 5.5 Ê v ÌÊ ŠÉ w setautocommit (true) Î Ë ÈÉ Ê Ç~ ÈÍÍÂ java.sql.sqlexception:jz0s3:th e inherited method setautocommit(true) cannot be used in this subclass. ÒÖ ÐÐÑÕ ÉÒÖÏÓÎ ÈÍ Â XAResource.end(TMSUSPEND) Ê ÇÉ XAResource.end(TMSUCCESS) Î Ë ÈÉÂXAER_RMERR ÊÊÍÂ Sybase ÊÓÐ w /WebLogic Server Ê 10726192 ÊÊÈÂÔ ÑÊÍÍ Ç uâ 10727617 WebLogic Server ÉÊÂÇÊÓÐÊ ÈÍ Ê Î ÈÉÆÍÂ Ô ÖÊÔÖÓÒÏÎ XAEndOnlyOnce="true" Êv ÈÍÂ Ô ÑÊÍÍ Çu ÈÍÉÆÍÂ Sybase jconnect/xa ÒÖÏÓÊ Êv Ò ÑÔ Ñ Ð ÓÉ Îv ÈÍÊÊÂ Êw Ê ÆÌÈÂ ÒÖ ÐÐÑÕ ÊÖÏÑ ÑÎÏ ÑÒ ÖÈÌÈÂ sp_configure "enable DTM",1 Î sèéâòö ÐÐÑÕ Î ÊÈ ÌÈÂ sp_configure "enable xat coordination",1 Î sèìèâ 7-10 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

Ð ÒÓ ÒÏ ÒÖÏÓÊÐ ÔÏÐÖ ÑÕ ÉÓÔÏ Ô Ñu <USER_NAME> Ê dtm_tm_role Ö ÖÎ ÈÌÈÂ SYBASE_INSTALL\OCS-12_0\sample\xa-dtm ÐÔÒÏÖÐÒÖÊÆÍÐ Ô ÖÊ xa_config ÔÎÏÖÎÂ3 ÖÔÖ Ê SYBASE_INSTALL ËÐÓ È ÌÈÂSYBASE_INSTALL ÊÂSybase Ð ÓÎÏ ÑÒ ÖÈÉÒÏÖÐÒÖ ÉÈÂÉÉÆÊÂ ÊÍÆÊ ÈÌÈÂ $ SYBASE_INSTALL\xa_config xa_config ÔÎÏÖÎd ÈÌÈÂ Ê [xa] ÑÐÑÕ ÉÂÐ ÔÖ Ð Ó Î ÊÐ Ó Ê ÈÌÈÂ ÒÖ ÐÐÑÕ Î sèíéçêòòòöòðî ÇÉÌÊÂÒÔÏÖÒÉ ÖÔÖ ÖÒÐÎ ÊÈÌÈÂ sp_configure "lock scheme",0,datarows Î sèìèâ : jconnect.jar ÆÍË jconn2.jar ÔÎÏÖÊÂ2 ÉÉÌ WL_HOME\server\lib ÔÏÖÑÊ ÌÍÂÔÓÔÏÑÒ ÔÎÏÖ weblogic.jar É ÈÍÌÈÂWebLogic Server Îz ÈÍ ÊÂÒÖ ÏÓÇi ÊÖ ÒÈÍÂWebLogic Server É ÈÍ Ç ÆÌ ÈÂÇÍÊÒÖÏÓÎ WebLogic Õ ÒÏÖÒÏÌÉÊ ÊÎÔÖÐ ÑÕ É ÈÍÊÊÂÇÍÍÊÔÎÏÖÊÓÑÎ CLASSPATH É È ÌÈÂ Sybase jconnect 5.5/XA ÒÖÏÓÊ Ô Ö ÊsÊÂ Ô ÖÊÐ ÔÏÐÖ ÑÕ ÊÉÌÊÐ ÔÖ Ð ÒÎ È ÌÈÂ s 7-5 Sybase jconnect 5.5/XA ÒÖÏÓ : Ð ÔÖ Ô Ö Ð ÔÏÐÖ ÑÕ ÔÖÓÒÏ ÔÖÓÒÏ Name jtaxapool Targets DriverClassname myserver,server1 com.sybase.jdbc2.jdbc.sybxadatasource WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 7-11

7 WebLogic Server ÉÊÐ ÒÓ ÒÏ JDBC XA ÒÖÏÓÊ Æ s 7-5 Sybase jconnect 5.5/XA ÒÖÏÓ : Ð ÔÖ Ô Ö Ð ÔÏÐÖ ÑÕ ÔÖÓÒÏ ÔÖÓÒÏ Properties Initial Capacity 1 MaxCapacity 10 CapacityIncrement 1 User=dbuser; DatabaseName=dbname; ServerName=server_name_or_IP_address; PortNumber=serverPortNumber; NetworkProtocol=Tds; resourcemanagername=lrm_name_in_xa_config; resourcemanagertype=2 Supports Local Transaction True ÇÇÉÂLrm_name Ê Logical Resource Manager Î ÈÌÈÂ : ÌÉÂconfig.xml ÔÎÏÖÊ Ô Ö ÑÐÊ KeepXAConnTillTxComplete="true" Î~ ÈÍ uçæíìèâv ÊÉÆÉÊÂÃ fïïòãêã~ Ê XA Ô Ö ÔÖÓÒÏÃ Î ÈÉÇÉÈÆÂ ÊsÊÂTxDataSource ÊÐ ÔÏÐÖ ÑÕ ÊÉÌÊÐ ÔÖ Ð ÒÎ ÈÌÈÂ s 7-6 Sybase jconnect 5.5/XA ÒÖÏÓ : TxDataSource ÊÐ ÔÏÐÖ ÑÕ ÔÖÓÒÏ ÔÖÓÒÏ Name jtaxads Targets JNDIName PoolName server1 jtaxads jtaxapool 7-12 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

Ð ÒÓ ÒÏ ÒÖÏÓÊÐ ÔÏÐÖ ÑÕ ÉÓÔÏ Ô Ñu Java ÐÖÏÎ ÒÊÐ ÔÏÐÖ ÑÕ ÔÖÓÒÏ Java ÐÖÏÎ ÒÎ sèí Ê ÊÐ ÔÏÐÖ ÑÕ ÔÖÓÒÏÎ v ÈÌÈÂ s 7-7 Sybase jconnect 5.5/XA ÒÖÏÓ : Java ÐÖÏÎ Ò ÔÖÓÒÏ ÔÖÓÒÏ ÔÖÓÒÏ ds.setpassword <password> ds.setuser ds.setnetworkprotocol ds.setdatabasename ds.setresourcemanagername <username> Tds <database-name> <Lrm name in xa_config file> ds.setresourcemanagertype 2 ds.setservername <machine host name> ds.setportnumber port ( ~ Ê 4100) ÈÊ ÊÐ ÒÓ ÒÏ XA ÒÖÏÓ ÈÊ ÊÐ ÒÓ ÒÏt XA JDBC ÒÖÏÓÎ ÈÍÉÌÊÊÂÒÖÏ Ó ÐÖÑ ÖÏÔÖÖÊÓÑÎ CLASSPATH É ÈÂÔ Ñ Êw Ê Æ u ÇÆÍÌÈÂ WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ 7-13

7 WebLogic Server ÉÊÐ ÒÓ ÒÏ JDBC XA ÒÖÏÓÊ Æ 7-14 WebLogic JTA ÔÖÐÖÔ Ñ ÏÏÒ

8 WebLogic Server XA リソースプロバイダの要件 BEA WebLogic Server Java Transaction API (JTA) ªªª ª XA ª ª ªª ª ª ªª ª ª ª ª w ª ª ªª ª ª ª ª ªªªª ª WebLogic Server ª ª ªª ª ªªª XA ªªªª u w JTA v Sun Microsystems s Java Transaction API (JTA) ªªª ª ª 1.0.1a ªªªªªª ª ª ªªª ª ª ªªªªªª y u ªªªªªªªª ªªªªª ƒ XAResource u ªª ª ª weblogic.transaction.xaresource ªªª ªª u XA ªªªª ªªª ª WebLogic Server ª ªªªªª ª ª h ª ª ª ª ª ªª JTAXAResource ªª ª ªª ªªª ª u ˆ JDBC ª ª ªª ª ª ªª ªªª ª s z WebLogic Server ªªªªªªªª ªªªªª XA ªªªª ƒ WebLogic JTA ªªªªªªª ª 8-1

8 WebLogic Server XA ªªªª ªªª ª u u XA ª ª ªª WebLogic Server ª ªªªªªª ª ªªªªª ª ªªª u u weblogic.transaction.xaresource ªªª ªª t ªªªªªªªª ªªªªª ƒ JTA XA ªªªª ªªª ªªªªªªªª ªªªªª ªªª ª ª ª ª ª f WebLogic Server ƒ API f XA ªªªª ª ªª ª z ªª ª ªªªªªªªª ªªªªª XAResource t ƒ s 1. JNDI TxHelper ªªª ªª JTA ªªªªªªªª ª ªªª ª ªª ª TxHelper ªªª ªª ª ª ªªªª ª ª ªªªª ª import javax.transaction.xa.xaresource; import javax.transaction.transactionmanager; import weblogic.transaction.txhelper; TransactionManager tm = TxHelper.getTransactionManager(); 2. JTA ªªªªªªªª ªªªªª XA ªªªª ƒ XAResource res =...// ÖÑ Ñ ÔÖÓÏÑÊ XAResource Ê t tm.registerstaticresource(name, res); // ˆ ÊÖÑ ÑÊ tm.registerdynamicresource(name, res2); // ÊÖÑ ÑÊ ªªªª ª ªª ª ˆ ƒ ª ª ª ª t ˆ v XAResource u ªªªª ªªªªªªªª ªªªª ª ªªª t ªª ª ªª ªªª ª ª ªªª ªªªªª u ª ªªª 8-2 WebLogic JTA ªªªªªªª ª