我們的開發團隊開發了一個運行在Weblogic 10.3上的J2EE應用程序。每臺開發機器運行自己的Weblogic 10.3應用服務器副本。開發環境的Weblogic域最初是在一臺機器上創建的,然後使用Weblogic的配置工具(bea10/wlserver_10.3/common/bin/config.cmd)複製到所有機器上。如何將Weblogic的config.xml遷移到多臺機器?
每個開發機器都有自己的config.xml副本。該文件中的所有密碼短語(用於JDBC數據源的密碼短語等)都被加密,並且加密明顯在每臺機器上使用不同的種子,因爲相同的密碼在不同的機器上具有不同的加密表單。
問題是每隔一段時間config.xml需要更新(例如,當添加一個新的EJB時)並且需要在所有機器上應用更新。我們應該如何去做這件事?如果我們只是將文件放入CVS並從那裏更新其他機器,則每臺機器上的加密密碼將被覆蓋。當服務器試圖解密最初在另一臺機器上加密的密碼時,這會導致醜陋的paddingexceptions。
有沒有一個ant任務(我找不到一個)或類似的機制,會照顧正確合併config.xml中的更改而不覆蓋加密的密碼?或者是否有可能以明文形式指定密碼短語,並在第一次開始時對它們進行加密(我有一個微弱的回憶,這在以前的版本中是可能的,但在10.3中是不可能的)。
Weblogic開發團隊如何處理這個問題?
BR,
馬爾科
嗨帕斯卡, 非常感謝您的深思熟慮的答覆!在開發環境中存儲明文密碼是可以的,所以我認爲這是一條可行的路。 但是,我找不到在config.xml中存儲這些文件的正確方法。元素是允許的,但是我在dtd(http://www.oracle.com/technology/weblogic/920/domain.xsd)中找不到它的純文本選項。我在這裏錯過了什麼? 一種替代方法(非常冒險)是在每個開發服務器上使用相同的SerializedSystemIni.dat。這將允許在所有PC上使用相同的加密憑據嗎? –
MarkoU
2009-10-07 12:39:30
您是否嘗試將明文密碼放在''中? IMO沒有其他選擇。關於替代方法,即使用相同的'SerializedSystemIni.dat',我不確定,這將需要一些測試。這就是爲什麼我沒有提到它。 –
2009-10-07 12:57:10
嗨,將明文密碼放入<憑證加密>實際工作。還要複製SerializedSystemIni。數據到不同的域似乎工作,所以現在有替代品。再次感謝你。 – MarkoU 2009-10-08 08:14:27