作者hate9527 (......)
看板java
標題[J2ME] spring2.5與hibernate4
時間Wed Nov 7 20:48:17 2012
最近的專案碰到一個不太好處理的問題
因為系統用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
1F:→ hate9527:慘了 標題按錯 手機不能改標題QQ 11/07 20:49
2F:→ hate9527:版主是默默好人 我回家要改了 發現已經改了QQ 11/07 22:08
3F:→ nottheone:就算是2.5,也能指定ds, 怎會換不掉?! 好奇~ 11/07 22:09
4F:→ hate9527:SORRY 就是對HIBERNET不熟請問有無關鍵字? 11/07 22:14
5F:→ hate9527:Java doc從SessionFactory到 configure未找到方法 11/07 22:16
6F:→ nottheone:如果是擔心有二個DS, 那都拉到server, 再用jndi去取? 11/07 22:55
這個我想過 但是礙於是外商的套裝系統來改的 很多細節不敢亂來 怕到時候TS不理人
真麻煩~
HIBERNATE真的沒有直接注入ComboPooledDataSource的方式嗎QQ
※ 編輯: hate9527 來自: 219.86.130.245 (11/07 22:58)
7F:→ nottheone:s2.5那版, 就沒用hibernate, 是用jdbcTemplate? 11/07 23:00
8F:→ 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)
9F:→ nottheone:怎麼配置當然有差,如果硬要加到s2.5, 我會想法子把整個 11/08 00:46
10F:→ nottheone:h4.*相關class都找出來, jar檔的相依性會是問題 11/08 00:47
11F:→ nottheone:如果要分開配, 會去寫一支DS, 去取jvm的spring context 11/08 00:49
12F:→ nottheone:(理論上一個server只有一份, 當然還是要看設定檔) 11/08 00:51
13F:→ nottheone:這個做法, 要注意是啟動順序的問題. 11/08 00:53
14F:→ 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)