ç¹å®ã®å ´æã ããã©ã³ã¶ã¯ã·ã§ã³å¶å¾¡ãå¤ãã«ã¯
å®è¡ããActionã¯ã©ã¹ã®ã¡ã½ããã«ä»¥ä¸ã®ã¢ããã¼ã·ã§ã³ãæ¸ãã
(ã¡ãªã¿ã«S2Chronsã®å ´åã¯ãTaskã¯ã©ã¹ã®doExecuteã¡ã½ãã)
@TransactionAttribute(TransactionAttributeType.NEVER)
ããã§ãã©ã³ã¶ã¯ã·ã§ã³å¶å¾¡ããå¤ããã®ã§ã
䏿åã®ããã«æ¸ãã¦ãããã°è¯ãã
userTransaction.begin();
ããå¦çãã
userTransaction.commit();
userTransactionã¯é常éãDIã§åå¾ã§ããã
ããã©ã«ãã§ã¯ä¾å¤ãèµ·ããå ´åã
ãã©ã³ã¶ã¯ã·ã§ã³ã¯ãã¼ã«ããã¯ãè¨å®ãããã
é常ã¯ã³ã¬ã§å°ããã¨ã¯ãªãã®ã ãã
ä¾ãã°ä¾å¤ãèµ·ãããã¨ã«ãã£ã¦DBã®å
容ã夿´ãããå ´åã«ã¯ãå
¨ã¦ãã¼ã«ããã¯ãããã¨å°ãã®ã§ä»¥ä¸ã®ããã«å¯¾å¿ããã
1.@TransactionAttribute(TransactionAttributeType.NEVER)ã§åºç¹ã¨ãªãã¡ã½ãããããã©ã³ã¶ã¯ã·ã§ã³å¶å¾¡ãå¤ãã
2.userTransaction.begin()ã§ãã©ã³ã¶ã¯ã·ã§ã³ï¼ãéå§
3.ç®çã®å¦ç
4.ç®çã®å¦çä¸ã®ä¾å¤ããã£ãã
5.userTransaction.rollback()ã§ç®çã®å¦çã®ä¾å¤ã«ããã¨ã©ã¼ããã¼ã«ããã¯ãã¦ãã©ã³ã¶ã¯ã·ã§ã³ï¼ãçµäº
6.userTransaction.begin()ã§ãã©ã³ã¶ã¯ã·ã§ã³ï¼ãéå§
7.4ã§ãã£ããããä¾å¤ããã¨ã«DBã«INSERT
8.userTransaction.commit()ã§ãã©ã³ã¶ã¯ã·ã§ã³ï¼ãããã¯ï¼ãçµäº
ä¾å¤ããèµ·ããªããã°4ã7ã¯éããbeginãcommitã¨ãªãã
æ°ãã¤ããã®ã¯ã
@TransactionAttributeãæå®ããã¡ã½ããã¯å¦çã®éå§ã¨ãªãã¡ã½ããã§ãªããã°ãªããªãã
ä¾å¤ãçºçããç®æã ããã¢ããã¼ã·ã§ã³ã§è§£é¤ãããã¨ãã¦ãã
[æ¢ã«å¥ã®ãã©ã³ã¶ã¯ã·ã§ã³ãå²ãå½ã¦ããã¦ãã¾ã]ã¨ã®å¥ã®ä¾å¤ãçºçãã¦ãã¾ãã
åç
§ãµã¤ã
http://d.hatena.ne.jp/izuno4t/20080811/1218419884
http://sastruts.seasar.org/featureReference.html#Transaction
http://s2container.seasar.org/2.4/ja/ejb3.html#TransactionAttributeAnnotation