WASCE的資料庫連線池
在WASCE中使用ORACLE資料庫,按說明配置了資料庫連線池,在說明中,說明了“針對Oracle、MySQL、MaxDB和TranQL資料庫使用Generic JDBC Resource Adapter(tranql-connector-ra-version.rar)時,應在資料庫部署規劃中使用CommitBeforeAutoCommit="true",這樣才能立刻將事務提交至資料庫。”因第一次使用,對其中的CommitBeforeAutoCommit不是很理解,況且在WASCE的WEB配置介面中也沒有此引數的設定,因而也沒作深究。
在JAVA專案的資料庫操作部分,資料庫連線是採用了連線池,併為保證資料一致性,啟用了事務且關閉了AutoCommit,事務可以正常Commit/Rollback,在程式中也可以看到資料所作的修改,但在資料庫看不到資料修改,換用了程式直接採用JDBC連線資料庫而不用連線池,卻一切正常。
首先懷疑的是WASCE是否採用了EJB或XA之類的分散式事務,但透過對程式執行的跟蹤,否定了這一疑點。
看來一定是和WASCE中的資料庫連線池配置有關。
再次翻看配置說明,仔細研究了對CommitBeforeAutoCommit引數的說明,感覺問題與此引數有關。
重新配置資料來源,要加入CommitBeforeAutoCommit,這次採用命令來部署,重新測試,一切正常。
deploy.sh deploy $WASCE_HOME/repository/org/tranql/tranql-connector-ra/1.7/tranql-connector-ra-1.7.rar plan-pool.xml
總結:此例的問題是對AutoCommit的理解產生了問題,資料庫連線Connection是有一個AutoCommit引數,表示每次資料庫操作後,是否自動提交事務,即是否次每次資料庫操作都作為一個獨立的事務來處理;而此地的AutoCommit卻並非此含義,而是應該理解為連線池管理的事務的自動提交。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/81227/viewspace-696613/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫連線池-Druid資料庫連線池原始碼解析資料庫UI原始碼
- 《四 資料庫連線池原始碼》手寫資料庫連線池資料庫原始碼
- 【MySQL】自定義資料庫連線池和開源資料庫連線池的使用MySql資料庫
- 資料庫連線池原理資料庫
- Flask資料庫連線池Flask資料庫
- python資料庫連線池Python資料庫
- 聊聊資料庫連線池 Druid資料庫UI
- 資料庫連線池實現資料庫
- Javaweb-資料庫連線池JavaWeb資料庫
- 手寫資料庫連線池資料庫
- Python資料庫連線池DButilsPython資料庫
- druid資料庫連線池的配置類UI資料庫
- MySql資料庫連線池專題MySql資料庫
- Java Druid資料庫連線池+SpringJDBCJavaUI資料庫SpringJDBC
- JavaWeb之事務&資料庫連線池JavaWeb資料庫
- mysql資料庫連線池配置教程MySql資料庫
- 資料庫連線池的實現及原理資料庫
- django中的資料庫連線池實現Django資料庫
- python資料庫連線池的正確用法Python資料庫
- 帶你進入資料庫連線池資料庫
- 資料庫連線池技術詳解資料庫
- Spring Boot整合Druid資料庫連線池Spring BootUI資料庫
- Springboot 整合阿里資料庫連線池 druidSpring Boot阿里資料庫UI
- Druid資料庫連線池使用體驗UI資料庫
- 淺談JDBC和資料庫連線池JDBC資料庫
- 自定義帶監控的資料庫連線池資料庫
- 資料庫連線池_druid基本使用&工具類資料庫UI
- golang兩種資料庫連線池實現Golang資料庫
- 資料庫連線池到底應該設多大?資料庫
- springboot專案整合druid資料庫連線池Spring BootUI資料庫
- 從原始碼分析DBCP資料庫連線池的原理原始碼資料庫
- 4、資料庫連線池的概念及C3P0、Uruid兩種連線池的使用資料庫UI
- Druid資料庫連線池就這麼簡單UI資料庫
- 使用 Spring Boot 2.4配置Oracle的UCP資料庫連線池Spring BootOracle資料庫
- 基於C++11的資料庫連線池實現C++資料庫
- 第 67 期 Go database/sql 資料庫連線池分析GoDatabaseSQL資料庫
- 資料庫連線池設計和實現(Java版本)資料庫Java
- Go實戰準備工作---建立資料庫連線池Go資料庫
- ADO.NET入門教程之資料庫連線池資料庫