日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

项目中spring事务管理配置分析与修改方案

發(fā)布時(shí)間:2024/3/26 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目中spring事务管理配置分析与修改方案 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概要:

現(xiàn)有spring事務(wù)管理配置存在問題:對(duì)數(shù)據(jù)庫無關(guān)的service層方法,也會(huì)進(jìn)行事務(wù)管理(創(chuàng)建數(shù)據(jù)庫鏈接、提交(回滾)事務(wù)、釋放連接等),消耗資源。

修改方案:只對(duì)執(zhí)行數(shù)據(jù)庫寫操作的service層方法進(jìn)行事務(wù)管理,其它方法均不做配置。

需要做的工作:統(tǒng)計(jì)現(xiàn)有service層方法命名;修改事務(wù)管理配置文件;規(guī)范后續(xù)開發(fā)時(shí)的service層方法命名。

后續(xù)工作

1、確定事務(wù)管理機(jī)制

2、清理現(xiàn)有service層方法命名及功能

3、按確定的事務(wù)管理機(jī)制修改事務(wù)管理配置

4、規(guī)范以后的方法命名。

1、現(xiàn)有配置

配置如下:

<tx:method?name="get*"?read-only="true"?/>

<tx:method?name="query*"?read-only="true"?/>

<tx:method?name="*"?propagation="REQUIRED"?/>

日志輸出:

1com.sinosig.carpremium.services.impl.TokenServiceImpl.countToken

創(chuàng)建事務(wù)

2012-01-17?11:46:39,656?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction:371]?-?Creating?new?transaction?with?name?[com.sinosig.carpremium.services.impl.TokenServiceImpl.countToken]:?PROPAGATION_REQUIRED,ISOLATION_DEFAULT

建立鏈接

2012-01-17?11:46:58,375?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin:202]?-?Acquired?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]?for?JDBC?transaction

2012-01-17?11:46:58,468?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin:219]?-?Switching?JDBC?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]?to?manual?commit

執(zhí)行處理邏輯

2012-01-17?11:46:58,468?INFO?[com.sinosig.carpremium.services.impl.TokenServiceImpl.countToken:44]?-?令牌基數(shù)是:100000,當(dāng)前令牌值是:1

commit預(yù)處理

2012-01-17?11:46:58,468?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit:903]?-?Triggering?beforeCommit?synchronization

2012-01-17?11:46:58,468?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCompletion:916]?-?Triggering?beforeCompletion?synchronization

2012-01-17?11:46:58,468?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit:730]?-?Initiating?transaction?commit

提交事務(wù)

2012-01-17?11:46:58,484?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doCommit:259]?-?Committing?JDBC?transaction?on?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]

Commit后處理

2012-01-17?11:46:58,484?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCommit:929]?-?Triggering?afterCommit?synchronization

2012-01-17?11:46:58,484?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCompletion:945]?-?Triggering?afterCompletion?synchronization

釋放數(shù)據(jù)庫鏈接

2012-01-17?11:46:58,484?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doCleanupAfterCompletion:314]?-?Releasing?JDBC?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]?after?transaction

2、com.sinosig.carpremium.services.impl.AutocompleteServiceImpl.getTravelHotCityList

創(chuàng)建事務(wù)

2012-01-17?11:47:05,687?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction:371]?-?Creating?new?transaction?with?name?[com.sinosig.carpremium.services.impl.AutocompleteServiceImpl.getTravelHotCityList]:?PROPAGATION_REQUIRED,ISOLATION_DEFAULT,readOnly

創(chuàng)建數(shù)據(jù)庫鏈接

2012-01-17?11:47:05,687?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin:202]?-?Acquired?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]?for?JDBC?transaction

2012-01-17?11:47:05,687?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin:219]?-?Switching?JDBC?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]?to?manual?commit

執(zhí)行邏輯

2012-01-17?11:47:05,765?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{conn-100000}?Connection

2012-01-17?11:47:05,781?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{conn-100000}?Preparing?Statement:????Select?p.City?city,?p.Spelling?spelling,?p.Org_Id???orgId,p.spelling_acronym?spellingAcronym,p.city_plate?cityPlate???,a.PRO_PLATE?provincePlate???From?t_Se_City?p?left?join?t_se_netCityControl?a??????on?p.org_id?=?a.org_id????Where?p.hot_sign=??and?a.isnew?=?'1'?Order?By?p.city_id???Asc??

2012-01-17?11:47:05,953?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100001}?Executing?Statement:????Select?p.City?city,?p.Spelling?spelling,?p.Org_Id???orgId,p.spelling_acronym?spellingAcronym,p.city_plate?cityPlate???,a.PRO_PLATE?provincePlate???From?t_Se_City?p?left?join?t_se_netCityControl?a??????on?p.org_id?=?a.org_id????Where?p.hot_sign=??and?a.isnew?=?'1'?Order?By?p.city_id???Asc??

2012-01-17?11:47:05,953?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100001}?Parameters:?[1]

2012-01-17?11:47:05,968?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100001}?Types:?[java.lang.String]

2012-01-17?11:47:06,015?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?ResultSet

2012-01-17?11:47:06,031?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Header:?[CITY,?SPELLING,?ORGID,?SPELLINGACRONYM,?CITYPLATE,?PROVINCEPLATE]

2012-01-17?11:47:06,031?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[北京市,?BeiJingShi,?01682900,?bjs,?,?]

2012-01-17?11:47:06,031?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[濟(jì)南市,?JiNanShi,?02129700,?jns,?A,?A]

2012-01-17?11:47:06,046?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[南京市,?NanJingShi,?03515500,?njs,?A,?]

2012-01-17?11:47:06,046?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[重慶市,?ChongQingShi,?05141600,?cqs,?,?]

2012-01-17?11:47:06,046?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[鄭州市,?ZhengZhouShi,?06511000,?zzs,?A,?]

2012-01-17?11:47:06,046?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[上海市,?ShangHaiShi,?07518800,?shs,?,?]

2012-01-17?11:47:06,046?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[廣州市,?GuangZhouShi,?08512200,?gzs,?A,?]

2012-01-17?11:47:06,046?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[深圳市,?ShenZhenShi,?09101800,?szs,?B,?B]

2012-01-17?11:47:06,046?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[青島市,?QingDaoShi,?11402000,?qds,?B,?B]

2012-01-17?11:47:06,062?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[石家莊市,?ShiJiaZhuangShi,?15503200,?sjzs,?A,?]

2012-01-17?11:47:06,062?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[杭州市,?HangZhouShi,?19503500,?hzs,?A,?]

2012-01-17?11:47:06,062?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[成都市,?ChengDuShi,?21114000,?cds,?A,?]

提交預(yù)操作

2012-01-17?11:47:06,062?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit:903]?-?Triggering?beforeCommit?synchronization

2012-01-17?11:47:06,078?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCompletion:916]?-?Triggering?beforeCompletion?synchronization

2012-01-17?11:47:06,078?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit:730]?-?Initiating?transaction?commit

提交事務(wù)

2012-01-17?11:47:06,078?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doCommit:259]?-?Committing?JDBC?transaction?on?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]

提交后操作

2012-01-17?11:47:06,093?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCommit:929]?-?Triggering?afterCommit?synchronization

2012-01-17?11:47:06,093?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCompletion:945]?-?Triggering?afterCompletion?synchronization

2012-01-17?11:47:06,093?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doCleanupAfterCompletion:314]?-?Releasing?JDBC?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]?after?transaction

問題:

與數(shù)據(jù)庫無關(guān)的service層操作也被納入了事務(wù)管理的范圍里。事務(wù)管理和數(shù)據(jù)庫操作都會(huì)占用系統(tǒng)資源。

方案一:對(duì)數(shù)據(jù)庫增//改操作的操作進(jìn)行事務(wù)管理,其余均不做配置。

配置如下。

<tx:method?name="add*"?propagation="REQUIRED"?/>

<tx:method?name="save*"?propagation="REQUIRED"?/>

<tx:method?name="update*"?propagation="REQUIRED"?/>

<tx:method?name="edit*"?propagation="REQUIRED"?/>

<tx:method?name="remove*"?propagation="REQUIRED"?/>

<tx:method?name="delete*"?propagation="REQUIRED"?/>

日志記錄

1、com.sinosig.carpremium.services.impl.TokenServiceImpl.countToken

2012-01-17?12:11:29,578?INFO?[com.sinosig.carpremium.services.impl.TokenServiceImpl.countToken:44]?-?令牌基數(shù)是:100000,當(dāng)前令牌值是:1

2、com.sinosig.carpremium.services.impl.AutocompleteServiceImpl.getTravelHotCityList

2012-01-17?12:11:35,312?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{conn-100000}?Connection

2012-01-17?12:11:53,765?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{conn-100000}?Preparing?Statement:????Select?p.City?city,?p.Spelling?spelling,?p.Org_Id???orgId,p.spelling_acronym?spellingAcronym,p.city_plate?cityPlate???,a.PRO_PLATE?provincePlate???From?t_Se_City?p?left?join?t_se_netCityControl?a??????on?p.org_id?=?a.org_id????Where?p.hot_sign=??and?a.isnew?=?'1'?Order?By?p.city_id???Asc??

2012-01-17?12:11:53,953?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100001}?Executing?Statement:????Select?p.City?city,?p.Spelling?spelling,?p.Org_Id???orgId,p.spelling_acronym?spellingAcronym,p.city_plate?cityPlate???,a.PRO_PLATE?provincePlate???From?t_Se_City?p?left?join?t_se_netCityControl?a??????on?p.org_id?=?a.org_id????Where?p.hot_sign=??and?a.isnew?=?'1'?Order?By?p.city_id???Asc??

2012-01-17?12:11:53,953?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100001}?Parameters:?[1]

2012-01-17?12:11:53,953?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100001}?Types:?[java.lang.String]

2012-01-17?12:11:54,000?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?ResultSet

2012-01-17?12:11:54,015?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Header:?[CITY,?SPELLING,?ORGID,?SPELLINGACRONYM,?CITYPLATE,?PROVINCEPLATE]

2012-01-17?12:11:54,015?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[北京市,?BeiJingShi,?01682900,?bjs,?京,?京]

2012-01-17?12:11:54,015?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[濟(jì)南市,?JiNanShi,?02129700,?jns,?魯A,?魯A]

2012-01-17?12:11:54,046?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[南京市,?NanJingShi,?03515500,?njs,?蘇A,?蘇]

2012-01-17?12:11:54,046?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[重慶市,?ChongQingShi,?05141600,?cqs,?渝,?渝]

2012-01-17?12:11:54,046?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[鄭州市,?ZhengZhouShi,?06511000,?zzs,?豫A,?豫]

2012-01-17?12:11:54,046?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[上海市,?ShangHaiShi,?07518800,?shs,?滬,?滬]

2012-01-17?12:11:54,062?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[廣州市,?GuangZhouShi,?08512200,?gzs,?粵A,?粵]

2012-01-17?12:11:54,062?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[深圳市,?ShenZhenShi,?09101800,?szs,?粵B,?粵B]

2012-01-17?12:11:54,062?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[青島市,?QingDaoShi,?11402000,?qds,?魯B,?魯B]

2012-01-17?12:11:54,062?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[石家莊市,?ShiJiaZhuangShi,?15503200,?sjzs,?冀A,?冀]

2012-01-17?12:11:54,062?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[杭州市,?HangZhouShi,?19503500,?hzs,?浙A,?浙]

2012-01-17?12:11:54,062?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100002}?Result:?[成都市,?ChengDuShi,?21114000,?cds,?川A,?川]

3、com.sinosig.carchannel.services.impl.NetInfoServcieImpl.saveNetInfo

2012-01-17?12:17:58,437?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction:371]?-?Creating?new?transaction?with?name?[com.sinosig.carchannel.services.impl.NetInfoServcieImpl.saveNetInfo]:?PROPAGATION_REQUIRED,ISOLATION_DEFAULT

2012-01-17?12:17:58,437?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin:202]?-?Acquired?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]?for?JDBC?transaction

2012-01-17?12:17:58,515?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin:219]?-?Switching?JDBC?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]?to?manual?commit

2012-01-17?12:17:58,546?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{conn-100009}?Connection

2012-01-17?12:17:58,546?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{conn-100009}?Preparing?Statement:?????select?SEQ_INSUINFO.nextval?from?dual???

2012-01-17?12:17:58,546?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100010}?Executing?Statement:?????select?SEQ_INSUINFO.nextval?from?dual???

2012-01-17?12:17:58,546?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100010}?Parameters:?[]

2012-01-17?12:17:58,546?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100010}?Types:?[]

2012-01-17?12:17:58,562?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100011}?ResultSet

2012-01-17?12:17:58,562?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100011}?Header:?[NEXTVAL]

2012-01-17?12:17:58,562?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100011}?Result:?[15081689]

2012-01-17?12:17:58,562?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{conn-100009}?Preparing?Statement:???????insert?into???T_SE_INSURANCE_INFO(PK_T_INS_ID,CONT_TEL,PROV_CITY,USEYEAR,???NUM_PLATE,PURCHASE_DATE,PRICE,IS_NEW,INSU_APP_DATE,CONT_NAME,???PUSHED_FLAG,PURGECODE,AREACODE,EMAIL,SPSOURCE,HASDRI,INSU_APP_DATE_TRA)???values(?,?,?,?,????,?,?,?,to_date(?,'yyyy-MM-dd'),?,???'9',?,?,?,?,'0',?)??

2012-01-17?12:17:58,562?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100012}?Executing?Statement:???????insert?into???T_SE_INSURANCE_INFO(PK_T_INS_ID,CONT_TEL,PROV_CITY,USEYEAR,???NUM_PLATE,PURCHASE_DATE,PRICE,IS_NEW,INSU_APP_DATE,CONT_NAME,???PUSHED_FLAG,PURGECODE,AREACODE,EMAIL,SPSOURCE,HASDRI,INSU_APP_DATE_TRA)???values(?,?,?,?,????,?,?,?,to_date(?,'yyyy-MM-dd'),?,???'9',?,?,?,?,'0',?)??

2012-01-17?12:17:58,562?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100012}?Parameters:?[15081689,?13800138000,?02129700,?5,?魯A423423,?2007-01-17,?,?0,?2012-01-18,??,?WB-OB-NR-FQ,?W00000002,?,?NET,?2012-01-18]

2012-01-17?12:17:58,562?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100012}?Types:?[java.lang.Long,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String]

2012-01-17?12:17:58,578?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit:903]?-?Triggering?beforeCommit?synchronization

2012-01-17?12:17:58,578?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCompletion:916]?-?Triggering?beforeCompletion?synchronization

2012-01-17?12:17:58,578?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit:730]?-?Initiating?transaction?commit

2012-01-17?12:17:58,578?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doCommit:259]?-?Committing?JDBC?transaction?on?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]

2012-01-17?12:17:58,578?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCommit:929]?-?Triggering?afterCommit?synchronization

2012-01-17?12:17:58,578?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCompletion:945]?-?Triggering?afterCompletion?synchronization

2012-01-17?12:17:58,593?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doCleanupAfterCompletion:314]?-?Releasing?JDBC?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]?after?transaction

4、com.sinosig.carchannel.services.impl.NetRuleServiceImpl.saveRuleInfo

2012-01-17?12:17:58,593?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction:371]?-?Creating?new?transaction?with?name?[com.sinosig.carchannel.services.impl.NetRuleServiceImpl.saveRuleInfo]:?PROPAGATION_REQUIRED,ISOLATION_DEFAULT

2012-01-17?12:17:58,593?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin:202]?-?Acquired?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]?for?JDBC?transaction

2012-01-17?12:17:58,593?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin:219]?-?Switching?JDBC?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]?to?manual?commit

2012-01-17?12:17:58,593?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{conn-100013}?Connection

2012-01-17?12:17:58,593?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{conn-100013}?Preparing?Statement:?????select?SEQ_RULE.nextval?from?dual???

2012-01-17?12:17:58,593?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100014}?Executing?Statement:?????select?SEQ_RULE.nextval?from?dual???

2012-01-17?12:17:58,593?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100014}?Parameters:?[]

2012-01-17?12:17:58,593?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100014}?Types:?[]

2012-01-17?12:17:58,609?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100015}?ResultSet

2012-01-17?12:17:58,609?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100015}?Header:?[NEXTVAL]

2012-01-17?12:17:58,609?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{rset-100015}?Result:?[60910]

2012-01-17?12:17:58,609?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{conn-100013}?Preparing?Statement:???????insert?into?T_SE_RULE(ID,PK_T_INS_ID,MULTIRISKTYPE,???CUSTOMERLOYALTY,DAMAGEDFACTORGRADE,RUNAREACODE,RUNMILES,ADDONCOUNT,ParticularModel,DISCOUNT)???values(?,?,?,????,?,?,?,?,?,'1.0')??

2012-01-17?12:17:58,609?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100016}?Executing?Statement:???????insert?into?T_SE_RULE(ID,PK_T_INS_ID,MULTIRISKTYPE,???CUSTOMERLOYALTY,DAMAGEDFACTORGRADE,RUNAREACODE,RUNMILES,ADDONCOUNT,ParticularModel,DISCOUNT)???values(?,?,?,????,?,?,?,?,?,'1.0')??

2012-01-17?12:17:58,609?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100016}?Parameters:?[60910,?15081689,?1,?1,?1,?1,?1,?1,?0]

2012-01-17?12:17:58,609?DEBUG?[com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.debug:27]?-?{pstm-100016}?Types:?[java.lang.Long,?java.lang.Long,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String,?java.lang.String]

2012-01-17?12:17:58,609?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit:903]?-?Triggering?beforeCommit?synchronization

2012-01-17?12:17:58,609?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCompletion:916]?-?Triggering?beforeCompletion?synchronization

2012-01-17?12:17:58,625?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit:730]?-?Initiating?transaction?commit

2012-01-17?12:17:58,625?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doCommit:259]?-?Committing?JDBC?transaction?on?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]

2012-01-17?12:17:58,625?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCommit:929]?-?Triggering?afterCommit?synchronization

2012-01-17?12:17:58,625?DEBUG?[org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCompletion:945]?-?Triggering?afterCompletion?synchronization

2012-01-17?12:17:58,625?DEBUG?[org.springframework.jdbc.datasource.DataSourceTransactionManager.doCleanupAfterCompletion:314]?-?Releasing?JDBC?Connection?[jdbc:oracle:thin:@10.10.114.161:1521:ifpdb,?UserName=AUTOCREAT,?Oracle?JDBC?driver]?after?transaction

對(duì)數(shù)據(jù)庫無關(guān)的操作(如countToken)不再進(jìn)行事務(wù)管理;

對(duì)讀取數(shù)據(jù)庫的操作(如查找熱門城市)也不再進(jìn)行事務(wù)管理;

對(duì)寫數(shù)據(jù)庫的操作(如saveNetInfo、saveRuleInfo)仍進(jìn)行可回滾的事務(wù)管理。

需要:1、整理現(xiàn)有的service層操作方法名

2、后續(xù)開發(fā)中規(guī)范service層操作方法命名。



本文轉(zhuǎn)自 斯然在天邊 51CTO博客,原文鏈接:http://blog.51cto.com/winters1224/805419,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者

總結(jié)

以上是生活随笔為你收集整理的项目中spring事务管理配置分析与修改方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。