Portal開發與配置技巧集錦(二)
1.4 Portal 6.1.0.3在Windows平臺上安裝或升級失敗
1.4.1 問題描述
已經安裝了Portal 6.1.0.1或者6.1.0.2,試圖升級到6.1.0.3,發現在Windows平臺上升級失敗。
檢查升級日誌,例如20100122_135338_WP_PTF_6103_selective-install.log檔案,發現與PeopleFinder有關,是系統在安裝peoplefinder_portlet期間發生錯誤導致的,這個錯誤幾乎在portal的每個版本中都曾經出現過,如圖1-19所示。
圖 1- 19 PeopleFinder 導致了安裝失敗
檢查people_finder portlet install日誌,
例如20100122_135338_WP_PTF_6103_people.impl_._ peoplefinder_._portlet_install.log檔案,發現是由FilenotFound例外帶著的,這是由於PeopleFinder少配置了屬性。此問題雖然2011年才被發現,但我們從歷史日誌中看到,這個問題早在2009年就出現了,如圖1-20所示。
圖 1- 20 這個異常說明 PeopleFinder 有屬性丟失
這是由於安裝過程中兩個檔案的屬性被定義成了只讀屬性,無法取代導致的。可以肯定的是,系統安裝完成後,沒有手工去改過這兩個檔案的屬性,懷疑是在系統升級時,升級程式篡改了檔案屬性。6.1.0.3升級程式剛剛推出沒多久,出現這種可能的錯誤也是正常的。
1.4.2 解決方案
登入Portal 6.1.0.3系統,
找到路徑:D:\IBM\WebSphere\PortalServer\pcc.impl\people.impl\ peoplefinder\portlet\lwp_peoplefinder_
war.ear\lwp.peoplefinder.jsr168.war\html\,檢視help資料夾的許可權,發現果然是隻讀的,如圖1-21所示。
圖 1- 21 help 資料夾具有隻讀屬性
修改該資料夾屬性,確保該資料夾及子檔案、子資料夾不具有隻讀屬性。
重新安裝補丁包,安裝成功,系統成功升級到6.1.0.3。
1.5 使用WAS 6動態快取機制提高WCM Content View Portlet效能及響應速度
1.5.1 問題描述
WCM模組的速度之慢是眾所周知的。除了保證業務邏輯上的連貫性之外,使用Cache技術也是提高WCM內容展示的一個好思路。
假設我們使用WCM authory構建了有100多個站點區域的站點,然後自己開發Content View Portlet,依據引數分別將這100多個站點區域展示到100多個欄目。
接下來,我們將採用適當的WAS 6 動態快取(WAS 6 Dynomic Cache)機制來提高WCM Content View的效能及響應速度,這是充分利用Portal 6.1所使用的JSR286容器優勢的一個絕佳方法。
1.5.2 WAS 6 動態快取解決方案
① 在開發好的Portlet中建立 cachespec.xml 檔案來定義動態快取,如圖1-22所示。
圖 1- 22 在 Portlet 配置檔案中啟用基於 WAS 動態快取的技術提升效能
② 建立一個JavaBean來生成合理的CacheID,如圖1-23所示。
圖 1- 23 動態快取實現的 JavaBean 程式碼
③ 安裝該Portlet並重新測試,驗證快取是否起效。
1.5.3 使用同一個使用者ID在同一臺機器或多臺機器上同時登入會導致系統錯誤
系統測試尤其是執行壓力測試時,使用者往往無法提供併發數要求數量的真實使用者名稱和密碼,例如上面的例子,我們需要使用者提供936個真實使用者的使用者名稱和密碼,而這通常是不現實的。很多專案組就決定使用其中的50對或者100對使用者名稱/密碼模擬真實的936個使用者,實質上這是不允許的。
IBM WebSphere Portal嚴格禁止同一ID同時多次登入系統,不管是在同一臺機器上還是模擬出多個IP地址,這將會導致不可預知的後果,甚至系統崩潰,如圖1-24所示。
圖 1- 24 Portal 資訊中心明令禁止同一 ID 多次登入
對應中文的資訊中心也對該問題有明確的定義,如圖1-25所示。
圖 1- 25 對應中文的資訊中心對禁止同 -ID 多次登入也有明確的定義
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9116427/viewspace-2284359/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Portal開發與配置技巧集錦(一)
- Portal開發與配置技巧集錦(三)
- Unity遊戲開發技巧集錦2.1.3實現效果Unity遊戲開發
- ionic V3.10 開發踩坑集錦(二)
- [python]小技巧集錦Python
- 面試集錦(二)程式與執行緒面試執行緒
- iOS 開發錯誤集錦iOS
- oraclle 開發技術集錦
- Unity 4.x遊戲開發技巧集錦(內部資料)Unity遊戲開發
- Android開發錯誤集錦Android
- PHP開發常用程式碼集錦PHP
- Android開發問題集錦Android
- 史上最全的Chrome使用技巧集錦Chrome
- 面試集錦(八)分散式與高併發面試分散式
- Linux 常見命令小技巧集錦Linux
- 技術問答集錦(二)
- Windows Mobile開發資源站點集錦Windows
- ionic V3.3開發踩坑集錦
- iOS開發集錦之 2017.02.13iOS
- VueJS 開發常見問題集錦VueJS
- PageMaker排版製作精彩應用技巧集錦
- Excel中Text 函式應用技巧集錦Excel函式
- JDBC常見面試題集錦(二)JDBC面試題
- Unity 4.x遊戲開發技巧集錦第2章攝像機的應用Unity遊戲開發
- PHP開發工程師面試問題集錦PHP工程師面試
- Vue.JS 開發常見問題集錦Vue.js
- 面試集錦(一)redis與nginx面試RedisNginx
- 最有用的Linux命令列使用技巧集錦Linux命令列
- ionic V3.10 開發踩坑集錦(一)
- ionic V3.10 開發踩坑集錦(三)
- Rust 2018開發環境配置與開發效率工具集Rust開發環境
- 如何學習效能測試?LoadRunner小技巧集錦
- Office 2007 實用技巧集錦薦
- 《python專案開發案例集錦》讀書筆記Python筆記
- Python專案開發案例集錦及配套程式碼Python
- 箴言集錦箴言
- 面試集錦(十)支付寶與微信面試
- 史上最全的Android開發學習教程集錦【初學者】Android