看板 java 關於我們 聯絡資訊
最近的專案碰到一個不太好處理的問題 因為系統用spring 2.5綁的很緊 而且datasource 也是使用c3p0與spring做整合 簡言之 這樣的組合拔不掉 然而今天上頭決定部分模組要使用hibernate 4 為了讓c3p0有效管理整個系統的connection 我們當然希望hibernate 能夠共同使用目前系統使用的 c3p0 datasource 不幸的是 spring 2.5 不支持hibernate 4 如果hibernate 自己又起了一個c3p0的 datasource 等於是系統有2個datasource 這不是我所預期的 請問有沒有什麼方式 能夠讓hibernate 直接使用由spring 管理的c3p0 datasource ? 請板上高手給建議 與設計方向 感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.86.131.3
hate9527:慘了 標題按錯 手機不能改標題QQ 11/07 20:49
hate9527:版主是默默好人 我回家要改了 發現已經改了QQ 11/07 22:08
nottheone:就算是2.5,也能指定ds, 怎會換不掉?! 好奇~ 11/07 22:09
hate9527:SORRY 就是對HIBERNET不熟請問有無關鍵字? 11/07 22:14
hate9527:Java doc從SessionFactory到 configure未找到方法 11/07 22:16
nottheone:如果是擔心有二個DS, 那都拉到server, 再用jndi去取? 11/07 22:55
這個我想過 但是礙於是外商的套裝系統來改的 很多細節不敢亂來 怕到時候TS不理人 真麻煩~ HIBERNATE真的沒有直接注入ComboPooledDataSource的方式嗎QQ ※ 編輯: hate9527 來自: 219.86.130.245 (11/07 22:58)
nottheone:s2.5那版, 就沒用hibernate, 是用jdbcTemplate? 11/07 23:00
nottheone:所以你現在是打算spring一個設定檔, hibernate4一個設定 11/07 23:01
2.5是org.springframework.orm.hibernate3.* 3.5卻是org.springframework.orm.hibernate4.* jdbcTemplate是hibernate3.0之前的事情 其實不管spring跟hibernate4是幾個設定檔 我的最終目的是希望能夠由同一個 DATASOURCE來管理(com.mchange.v2.c3p0.ComboPooledDataSource) o(><;)o o ※ 編輯: hate9527 來自: 219.86.130.245 (11/07 23:26)
nottheone:怎麼配置當然有差,如果硬要加到s2.5, 我會想法子把整個 11/08 00:46
nottheone:h4.*相關class都找出來, jar檔的相依性會是問題 11/08 00:47
nottheone:如果要分開配, 會去寫一支DS, 去取jvm的spring context 11/08 00:49
nottheone:(理論上一個server只有一份, 當然還是要看設定檔) 11/08 00:51
nottheone:這個做法, 要注意是啟動順序的問題. 11/08 00:53
nottheone:c3p0也只是個pool, 你把連線數/2分給二個不行嗎? 11/08 00:55
我剛剛已經找到方法了自己寫一隻ConnectionProvider 如果有鄉民想知道方法我有空會分享 感謝各位~~ ----------------------------------- 我現在不知道兩個子模組未來的LOADING 雖然DB主機64GB/8U 還堪用 但是在正式上線之前 我不想讓效能火力分散XD(雖然他自己會調整 不過未來還有datasource monitor的問題 要監控兩個ds 我很難說服主管...) 啟動順序沒問題 這些設計規範已經沿用多時 ※ 編輯: hate9527 來自: 219.86.130.245 (11/08 01:01)