2012-10-12 77 views
0

我們有一個問題,我們的java進程永遠掛起, 除非發出Kill -9。在solaris上掛java進程

相同的過程在其他Solaris ENVS成功運行,

Java進程包括從日誌和數據開始,做一些處理在數據後結束,雖然單個線程,我們可以看到,代碼完全執行並處理所有數據。

但是如果我們做了JPS,我們將永遠看到該進程正在運行。 我們正在使用EHcache,用於緩存目的和UCP連接池。 在dB方面,我們有ORACLE RAC結構。

拿了幾個Jstacks,永遠不能看到過程粘在我的代碼。 雖然從線程轉儲可以看到有很多UCP線程掛在那裏。

還添加一個關閉掛鉤,並在最後刪除它,但有些原因似乎從來沒有調用shutdownhook。

由於項目限制,無法粘貼代碼。

任何人請幫助

+5

我認爲你可以編輯代碼,使它看起來不再像代碼那樣,你仍然可以向我們展示你的意思。這將使它更清楚。 – Rob

+0

另請注意,關閉掛接僅在JVM正常退出或因用戶輸入而中斷時才運行。 「掛起」和「殺死-9」都不是這些情況,所以你不會期望你的鉤子運行。 –

+0

必須發出kill -9,因爲JVM永遠不會正常退出, –

回答

-1

我的客戶面臨與掛在Solaris上的安裝程序相同的問題。當安裝程序在調試模式下運行時,我們意識到嵌入了安裝程序的Java掛起。如果您有任何人找到答案,請發帖。

+0

這不是一個答案。至多這是一條評論。 –

+0

是真的。我無法在上面添加評論。 – Shiva