[問題] was移轉jboss問題求救

看板java作者 (接下來如何?)時間8年前 (2017/01/25 16:35), 8年前編輯推噓5(502)
留言7則, 3人參與, 最新討論串1/1
已經窮途末路了,只好上來請教各位高手解法或方向<(_ _)> 有一個專案,目的是將J2EE專案由java 1.4環境的was, 移轉到現在1.8的jboss上。 目前已經釐清問題出在要連DB的connection上, 只要多一點request就會hand住不動, hand住位置不定,很明顯是thread-safe的問題。 他們用SQL Server 2008,driver使用sqljdbc不曉得哪一版..., 然後整個connection他們自己寫的很可怕... 而且也拿不到source code,我只能用JD-eclipse在jar裡下斷點, 可是貌似只能一層,再往裡面的斷點就不理我了QQ 而且我們剛接手的時候發現它根本都沒有去關連線, 就不曉得為什麼was可以活著這麼多年... 然後剛移轉的時候,慢慢點個幾次,達到conntcion設定的上限就會卡住, 於是我們去每一隻接口的finally裡面加上關連線的動作, 是強壯了點,但還是沒解決問題... 翻遍了driver跟jboss DS相關資料都無解, 目前剩下jboss早期的版本還沒測試... 想請問大大這種情況應該要怎麼起手? 我目前想法是was可以跑jboss卻不行, 感覺應該兩者在connection-pool的管理上不同造成的... 想請問 1.有沒有追Thread-safe的好方法或概念? 2.有沒有不變更大量code的前提下動手腳? (我想到動態代理技術都需要有interface,但他們的古案並沒有把模組切好...) 3.有沒有方法可以大量decomplier .class檔案成java檔? 我們想翻來debug。 4.有沒有比較好的廟介紹一下QQ -- 為什麼不說話 為什麼打哈欠 今天的天氣這麼好 怎麼還愁眉苦著臉 讓我們喝咖啡 讓我們聽音樂 讓我們跨越了界線 讓我們自在的聊天 黃玠 讓我們每天心情都是星期天 生活一堆毛 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.12.132.161 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1485333331.A.D93.html

01/25 20:35, , 1F
jd eclipse不是已經可以decompile+debug了嗎?
01/25 20:35, 1F
可是我操作起來,它只能停住進去jar的第一層, 我要再往jar裡call的其他method就無法,它就不會停下來了QQ 會想翻出java code是我們可以插log來查狀態, 不然真的不曉得它掛在jar裡的哪裡... ※ 編輯: NullLife (39.12.132.161), 01/25/2017 21:11:33

01/25 21:15, , 2F
用 jstack 找出 runnable blocked 狀態的 thread
01/25 21:15, 2F

01/25 21:22, , 3F
connection pool 的相關屬性值可從 MBean 看到
01/25 21:22, 3F

01/25 21:28, , 4F
使用 jdk 動態代理必須要有介面 但使用 CGLIB 就沒有
01/25 21:28, 4F

01/25 21:28, , 5F
此限制
01/25 21:28, 5F

01/25 21:39, , 6F
可以用 VisualVM BTrace plugin 在執行期動態插入 log
01/25 21:39, 6F
天啊,csieflyman你是我的明燈,太感謝了!! 話說我一直以為CGlib是AOP的實作,是走動態代理的技術。 看起來我要重新好好了解一下了,太感謝大神啦~

01/26 15:04, , 7F
我應該實作connection,用filter去關閉連線
01/26 15:04, 7F
感謝以上的大大,後來找到問題出在寫log時卡住了= =" 從thread stack來看,jboss有委託standard out, 而該古案的log機制是他們自己寫的, 後來將古案的log導走就好了。 研判是剛好古案的log寫法跟jboss log機制互衝才卡到, 所以was才跑了幾十年都沒事,jboss一跑就掛 囧 ※ 編輯: NullLife (1.160.46.186), 01/30/2017 18:06:25
文章代碼(AID): #1OY6DJsJ (java)
文章代碼(AID): #1OY6DJsJ (java)