如下异常:
<Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason:
There are 1 nested errors:
Java.lang.ClassCastException: com.octetstring.vde.backend.BackendRoot cannot be cast to com.octetstring.vde.backend.standard.BackendStandard
at weblogic.ldap.EmbeddedLDAP.start(EmbeddedLDAP.java:303)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
>
<Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED>
<Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down>
<Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>
在经过多方查证后,发现是由于在项目开发中,曾有项目成员使用root用户启动过WebLogic,造成WebLogic的LDAP文件的权限属性为root:root(前一个为用户,后一个为组),所以在启动的过程中会提示LDAP异常。
知道了原因,再考虑解决方案。既然是权限方面出现了问题,那么就需要将权限修改为正确的属性,使用以下命令:
格式:
#chown -R weblogic:weblogic <mydomain_dir>
执行这条命令即可:
#chown -R weblogic:weblogic /home/weblogic/Oracle/Middleware/user_projects/domains
说明:前一个webogic是指用户,后一个weblogic是指用户所属组,而<mydomain_dir>是应用所在domain目录,此外,该命令一定要用root权限执行。
在修改完权限之后,重新启动WebLogic,异常消失,可以正常启动。
/home/weblogic/bea/user_projects/domains/webtrade/servers/AdminServer/data/ldap/ldapfiles
/home/weblogic/bea/user_projects/domains/webtrade/servers/server1/data/ldap/ldapfiles