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命令。

 

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

 

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

 

選擇下列用戶,然後將系統管理員的賬號密碼輸入進去,因爲我們的服務器都是在域中的,所以我輸入的是域管理員賬戶。然後確定之後,就一切ok了,tomcat的系統服務調用office的宏就一切正常了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章