WebLogic启动报错:BEA-000386 Server subsystem failed

WebLogic启动时报错,详细报错信息为:<BEA-000386> <Server subsystem failed. Reason: java.lang.AssertionError: java.lang.reflect.InvocationTargetException>,更多报错信息如下图1所示:

详细报错信息

图1:详细报错信息

对于这个问题,应该是密码解析出错。我是通过如下方法解决的,我先直接将%DOMAIN_HOME%/servers/AdminServer/security/下的boot.properties文件给删除了。然后接着做如下的操作:

Step 1:更改WebLogic的工作模式由生产模式改为开发模式。如果本来就是开发模式,就不用更改。由于我的是生产模式,我先通过方法将其改为开发模式,修改方法可参考《WebLogic开发模式、生产模式区别及相互转换的方法》这篇文章。

Step 2:修改%DOMAIN_HOME%/config/config.xml文件,将如下图2、图3的地方修改一下:

修改用户名、密码

图2:修改用户名、密码

修改密码

图3:修改密码

如上图2、图3所示,修改原先的config.xml中的用户名、密码为我要设置的明文用户名和明文密码,我这里设置的用户名是weblogic,密码是zaq12wsx。

Step 3:再次启动WebLogic,此时已经可以正常启动服务器。但是,如果此时直接就开发模式切换为生产模式,再次启动的时候发现仍然会报错,报错信息可能如下图4所示:

java.lang.IllegalArgumentException

图4:java.lang.IllegalArgumentException

如上图4,大概报错信息是:Parsing Failure in config.xml: java.lang.IllegalArgumentException: In production mode, it's not allowed to set a clear text value to the property: CredentialEncrypted of SecurityConfigurationMBean.

Step 4:在控制台(base_domain -> 安全)中修改realm、nodemanager和Idap的密码,如下图5、图6所示:

设置realm和nodemanager密码

图5:设置realm和nodemanager密码

如上图5,设置realm和nodemanager的密码,然后保存。

设置LDAP密码

图6:设置LDAP密码

如上图6,设置LDAP的密码,然后保存。

保存以后,再去下载config.xml文件看看,会发现之前我们写的明文的密码,此刻都已经被加密了。

Step 5:关闭WebLogic,设置setDomainEnv.sh中的PRODUCTION_MODE="true",切换至生产模式,然后重启WebLogic服务器,此时启动正常。

本文标题:WebLogic启动报错:BEA-000386 Server subsystem failed

本文链接:http://yedward.net/?id=353

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章