windows2008R2下的DCOM設置對於java web 應用程序的影響

    項目部署中,碰到一個棘手問題,困擾了我好幾天,由於以前幾年一直作研發,對項目的部署,以及服務器環境瞭解的不夠,尤爲是windows2008R2,碰到的問題是這樣的,項目中有一個業務是要上傳文件,並要計算出上傳文件的頁數,一共是三種類型的文件,word,excel,和pdf,pdf沒有什麼問題,一切正常,由於pdf計算頁數是使用的itext。而word和excel計算頁數是調用的office2007的宏。在測試環境一切正常,可是部署到生成環境的時候,word,和excel計算頁數就沒法正常獲取到頁數,在office2007 專業+ 版本下,一直報錯,在office2007企業版本下,計算的excel頁數不正確。生產環境是這樣的,使用的windows2008R2自帶的故障轉移。tomcat7.0註冊成系統服務,而後將tomcat服務加到故障轉移資源的通用服務資源中去。若是不將tomcat註冊成服務,使用startup.bat啓動,一切都正常,計算的頁數都準確無誤,不管是哪一個office版本。一旦將tomcat註冊成系統服務,就很差用了。通過一番周折,最後發現是權限的問題,使用bat啓動,父進程是cmd.exe 在windows下面會將當前用戶的權限給予cmd調用的全部程序,也就是在調用office宏的時候,具有了系統權限。而使用服務啓動,卻不是。必須對DCM設置進行權限上的設訂。 下面就將操做記錄下來。 在windows2008R2中與其餘的操做系統不一樣,DCOM配置中並無office的內容,並需手動將組件服務加進來。 打開命令窗口,執行mmc -32命令。windows

 

而後點擊文件,而後添加刪除管理單元,而後選擇最下面的組件服務。tomcat

 

點擊肯定後,左邊出現組件服務的樹形菜單,而後展開菜單,找到DCOM配置,而後找到對應的excel與word配置,右鍵點擊屬性。找到標識一欄:服務器

 

選擇下列用戶,而後將系統管理員的帳號密碼輸入進去,由於咱們的服務器都是在域中的,因此我輸入的是域管理員帳戶。而後肯定以後,就一切ok了,tomcat的系統服務調用office的宏就一切正常了。ide

相關文章
相關標籤/搜索