weblogic启动报错:IllegalArgumentException: In production mode, it’s not allowed to set a clear text value to the property: PasswordEncrypted of JDBCDriverParamsBean
- 中间件
- 2023-07-05
- 116热度
- 0评论
背景
对weblogic11g 打 NA7A 的补丁,并启用生产模式,打完后启动weblogic报错,报错如下:
<2023-5-31 下午10时06分33秒 CST> <Error> <Munger> <BEA-2156200> <Unable to load descriptor java.net.URLClassLoader@1a7244ca/null of module null. The error is weblogic.descriptor.DescriptorException: Unmarshaller failed
....
Caused by: com.bea.xml.XmlException: java.lang.IllegalArgumentException: In production mode, it's not allowed to set a clear text value to the property: PasswordEncrypted of JDBCDriverParamsBean
...
Caused by: java.lang.IllegalArgumentException: In production mode, it's not allowed to set a clear text value to the property: PasswordEncrypted of JDBCDriverParamsBean
原因
看报错和生产模式开启有关,开启生产模式,不允许 JDBC 数据连接的密码配置问明文,去 $DOMAIN/config/jdbc/xxx-jdbc.xml 查看文件内容,果真<password-encrypted>
下配置的密码为明文,估计是谁手动修改文件的。
解决方法
将<password-encrypted>
明文密码改为加密,加密方式:
# 先把 weblogic.jar 拷贝到 $DOMAIN 下
cp /weblogic/bea/wlserver_10.3/server/lib/weblogic.jar /weblogic/bea/user_projects/domains/querydm/.
# 进入 $DOMAIN 执行加密,salesman_275为需要加密的密码,会返回密文
cd /weblogic/bea/user_projects/domains/querydm/
java -cp weblogic.jar weblogic.security.Encrypt salesman_275
# 修改 jdbc/xxxx-jdbc.xml 中的密码
# 重启服务生效