1. 程式人生 > >工作中遇到的技術問題整理

工作中遇到的技術問題整理

local 操作 cto 一個 系統 started factory 分類 linux

1、設置LC_CTYPE=zh_CN.hp15CN重啟生效的原因:

Locale是Linux/Unix系統下根據計算機用戶所使用的語言,所在國家或者地區,以及當地的文化傳統所定義的一個軟件運行時的語言環境,LC_CTYPE是locale按照所涉及的使用習慣的各個方面分成的12大類中的其中一個,表示語言符號及其分類。

技術分享

2、統計報表沒有數據原因:

代碼中對多數據源下transcationManager管理事務的使用方法不當,多數據源下this.sessionFactory.getCurrentSession()方法有bug,需要換成this.sessionFactory.openSession(),這樣就可以正確使用事務管理器。

3、無法開單原因:

界面提示“Transaction not successfully started”或者“JDBC begin transaction failed”,均是由於數據庫連接池中的連接長時間不使用失效,而應用請求連接時直接從連接池中拿取並沒有檢測連接有效性導致,當數據庫連接池中的連接被創建而長時間不使用的情況下,該連接會自動回收並失效,但客戶端並不知道,在進行數據庫操作時仍然使用的是無效的數據庫連接,這樣,就導致客戶端程序報“ java.sql.SQLException: Io 異常: Connection reset” 或“java.sql.SQLException 關閉的連接”異常。

數據庫連接池原理圖:

技術分享

圖中連接池到數據源的連接由於長時間沒有使用被回收,而客戶端不知道仍使用失效的連接去請求連接。

工作中遇到的技術問題整理