我们的开发团队开发了一个运行在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