我使用Java程序中的OpenOffice API爲我處理文檔有時(每調用一次100k左右)Document的dispose方法不會返回,CPU負載保持100%,但沒有任何東西發生。Java:方法不返回。 (XComponent.dispose
我應該如何在這種情況下,正確地行事/代碼?
我目前的做法是等待處置兩秒鐘才能成功。如果沒有我嘗試通過適當的API來終止的OpenOffice (如我所期望的那樣),那麼我會致電
XDesktop xDesk = (...) // achive desktop
xDesk.terminate();
Runtime.getRuntime().exec("pkill soffice"); // "taskkill /IM soffice" on windows
以殺死soffice進程
然後調用
disposeThread.stop();
給最初試圖處置XComponent線程。現在Java API說Thread.stop()
不應該被使用(並且有有效的參數),所以我想知道是否有更好的解決方案,我做了什麼。
這是其中的一個問題,這取決於它如何措辭,它可能適合程序員,但我覺得這是技術和實現的具體情況,應該可能在StackOverflow上。 – 2012-01-12 15:30:11
@maple_shaft我想過但決定反對它。如果這是一個關於如何處理我的具體問題的問題,我會把它放在那裏,但是我已經爲我的問題找到了一個可行的解決方案,現在我問是否有更好的概念,而不是具體的解決方案。但是,它取決於它的措辭。 – 2012-01-12 15:50:20
@RobZ這真的不是一個開放式辦公室的具體問題。我的開放式辦公室情況只是一個例子。 – 2012-01-12 15:56:44