簡化WebLogic 8.1項目的配置

發表于:2007-06-10來源:作者:點擊數: 標簽:
隨著開發人員認識到連續集成的好處,應用程序的創建過程正在變得越來越自動化。然而,自動化創建會經常忽略一個會產生許多錯誤的方面:環境的配置。 創建和配置域的任務涉及許多能夠輕松實現自動化的手動步驟。在制作一個新組件時,配置需要擴展,一些參數需

 

 

 

 

 

 

 

 

隨著開發人員認識到連續集成的好處,應用程序的創建過程正在變得越來越自動化。然而,自動化創建會經常忽略一個會產生許多錯誤的方面:環境的配置。

創建和配置域的任務涉及許多能夠輕松實現自動化的手動步驟。在制作一個新組件時,配置需要擴展,一些參數需要為特定環境進行調優。所有這些還經常需要手動進行。
對于WebLogic時,配置參數存儲在眾所周知的config.xml文件中,域目錄就是應用程序的執行環境。使它們的生成自動化將允許您:
·        加速生成一個新WebLogic8.1域的任務
·     創建域時使錯誤的風險最小化
·      跟蹤對配置設置的更改(以及更改的原因)
·        需要時恢復到以前的配置
·        啟用配置設置驗證的自動化
·        簡化在一個大型組織中生成大量域的工作
·        容納不同開發人員的環境時,能在不同開發人員或項目之間輕松共享配置更改
固有的問題
您已經開始使用WebLogic Server、Platform、Portal
為了避免這種問題,一些人將整個域目錄置于源控件中,但這會帶來其他問題。第一個最明顯的問題是,在創建測試環境時,必須手動復制大多數設置。其次,每次對開發域進行更改時,也需要將更改傳遞到測試環境。第三,對于一個新創建的域,很難標識或記住應該進行哪些更改。第四,存儲整個域目錄會占用源存儲庫的磁盤空間,提取和登記也需要時間。
只將config.xml放到源控件中不僅不能解決這些問題,還會引入其他問題。額外的文件,例如serializedIni.dat和boot.properties
最好的解決方法是在源控件中保持一個只包含更改的文本格式文件,該文件制作成一個缺?。ā澳0濉保┯?,使用該文件自動化域的創建。
有兩種方法可以使域的創建自動化。一個是使用wlconfig Ant任務;另一個是使用域配置向導。wlconfigAnt任務在8.1
正確的解決方案
域配置向導在WebLogic Server的7.0版本中被引入,它是一個幫助創建WebLogic
域配置向導使用無聲的腳本執行,不需要任何的人為干預。腳本包含指令,使用簡單的命令對域進行配置(設置端口、創建Java數據庫連接[JDBC]
使用該方法,只有兩個文件需要在源控件中進行檢查:無聲的腳本文件和Ant創建文件。
現在讓我們詳細看一下這個過程。
首先,您需要編寫一個腳本,該腳本將會被域配置向導用來創建和配置域。javascript:openWindow1();>清單1
這個簡單的腳本應該被擴展用來執行配置任務,以往您可能需要使用WebLogic Server控制臺執行這些任務。關于更詳細內容,您可以參考文章Creating a Script for Silent-Mode Configuration
注意,服務器的名稱根據正使用的BEA域模板(wlw
其次,您需要編寫Ant目標,該目標在無聲模式下調用配置向導來執行腳本和創建空域目錄。javascript:openWindow2();>清單中顯示的目標假定common.lib.dir屬性指向bea/weblogic81/common
注意:確認指定了“failonerror=true”,這樣如果配置向導無法成功創建域,創建將會失敗。
作為最后一個步驟,為了測試每次建立中的配置更改,您應該在完全的創建中調用配置目標,并將兩個文件置于源控件中。
將來,在更改域配置時,您必須做的所有工作就是編輯該無聲腳本,并再次運行一個完整創建來驗證更改。
調節特定的配置設置
開發人員經常需要特殊的配置設置或不同的域目錄(例如,一個開發人員由于他的C:分區滿了,因而需要使用一個特定的硬盤驅動器)。這可以通過在無聲腳本中引入變量輕松地實現。
讓我們看一個具體的例子。想像這樣一種情況,盡管每個人都在使用源控件中相同的配置文件集生成腳本集,但開發人員需要使用不同的用戶名來連接數據庫。
創建一個包含對開發人員特定的用戶名的buildsettings.properties文件:
JDBCUSER=olivier
在Ant腳本中,加載該屬性文件:
        "buildsettings.properties"/>
在配置向導的無聲腳本文件中,使用一個變量(令牌)代表JDBC連接池用戶名,而不是硬編碼值:
set mypool.Properties
        "user=@JDBCUSER@";
然后,將配置向導無聲腳本模板復制到一個臨時目錄中,并用變量值替換令牌:
        tofile="/
        createDevDomain.txt"
        filtering="true"/>
最后,修改配置Ant目標,使其使用臨時目錄中的自定義無聲腳本文件:
        "com.bea.plateng.wizard.
        WizardController"
        fork="true"failonerror="true"
                classpathref="config.path">
 
       
       
                /createDevDomain.txt"/>
       
                confgwiz.log"/>
       
                "platform.properties"value=
                "platform.properties"/>
由于不擁有源控件外的任何文件是一個好主意,所以buildsettings.properties文件應該重命名為用戶特定的名稱。如果該文件的名稱能夠從環境變量(如Windows中的
讓我們假設我的是OGOURMENT
        "buildsettings.
        properties"/>
注意,在這種情況下,如果沒有定義環境變量,那么它將后退到名為buildsettings.properties、包含缺省設置的文件。這樣,您只需要為特殊情況創建屬性文件。
我們剛才描述的技術可以推廣到解決所有種類的自定義需求。關于其他的好處,請參閱側欄上的“javascript:openWindow3();>Create theJMS Queues Required by the Workshop Run Time
 
下一個邏輯步驟在從一些簡單文本文件自動化域的生成后,下一個邏輯步驟就是驗證這些文件中的最新變化。為了做到這一點,您只需要創建另一個Ant目標,該目標將啟動服務器,并使用HttpUnit
只有在這之后,您才應該自動部署您的應用程序,并啟動自動的退步測試集來驗證代碼中的更改。該技術應該能調整現實項目的約束,為您提供節省時間的最佳實踐,您現在就可以使用它來簡化WebLogic 8.1中的配置任務了。





原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97