BEA公司為weblogic server準(zhǔn)備了petstore for weblogic供開(kāi)發(fā)者安裝, 因?yàn)樽罱鼫y(cè)試Hyperic-HQ, 所以進(jìn)行了petstore for weblogic的安裝.
首先, 需要下載Sun的petstore和在bea.com下載petstore for weblogic. 對(duì)應(yīng)weblogic 8.1服務(wù)器的petstore版本是1.3.2.
下載后, 按照下載包中的readme.txt文件的提示一步一步安裝, 沒(méi)有什么問(wèn)題, readme上說(shuō)得非常清楚. 但是到Step1的第12步和Step2的第7步卻無(wú)法啟動(dòng)weblogic服務(wù)器. 現(xiàn)象為, 啟動(dòng)后拋出如下異常.
<2006/09/06?9時(shí)13分08秒?CST>?<Critical>?<WebLogicServer>?<BEA-000364>?<Server?failed?during?initialization.?Exception:weblogic.security.spi.ProviderInitializationException:?[Security:090314]Entitlement?Engine?unable?to?connect?to?the?embedded?LDAP?server
netscape.ldap.LDAPException:?error?result?(50)
weblogic.security.spi.ProviderInitializationException:?[Security:090314]Entitlement?Engine?unable?to?connect?to?the?embedded?LDAP?server
netscape.ldap.LDAPException:?error?result?(50)
????????at?weblogic.security.providers.authorization.DefaultAuthorizationUtils.getEngine(DefaultAuthorizationUtils.java:130)
????????at?weblogic.security.providers.authorization.DefaultRoleMapperProviderImpl.initialize(DefaultRoleMapperProviderImpl.java:104)
????????at?weblogic.security.service.SecurityServiceManagerDelegateImpl.createSecurityProvider(SecurityServiceManagerDelegateImpl.java:242)
????????at?weblogic.security.service.SecurityServiceManager.createSecurityProvider(SecurityServiceManager.java:957)
????????at?weblogic.security.service.RoleManager.initialize(RoleManager.java:152)
????????at?weblogic.security.service.RoleManager.<init>(RoleManager.java:98)
????????at?weblogic.security.service.SecurityServiceManagerDelegateImpl.doRole(SecurityServiceManagerDelegateImpl.java:513)
????????at?weblogic.security.service.SecurityServiceManagerDelegateImpl.initializeRealm(SecurityServiceManagerDelegateImpl.java:409)
????????at?weblogic.security.service.SecurityServiceManagerDelegateImpl.loadRealm(SecurityServiceManagerDelegateImpl.java:700)
????????at?weblogic.security.service.SecurityServiceManagerDelegateImpl.initializeRealms(SecurityServiceManagerDelegateImpl.java:733)
????????at?weblogic.security.service.SecurityServiceManagerDelegateImpl.initialize(SecurityServiceManagerDelegateImpl.java:876)
????????at?weblogic.security.service.SecurityServiceManager.initialize(SecurityServiceManager.java:734)
????????at?weblogic.t3.srvr.T3Srvr.initializeHere(T3Srvr.java:822)
這個(gè)問(wèn)題的原因是petstore模板中的Critical密鑰已經(jīng)過(guò)期.
解決辦法是找到weblogic的配置文件config.xml.
修改其中的如下這行
<EmbeddedLDAP Name="petstore" Credential="{3DES}78P9aVGmaIE="/>將其中的Credential屬性刪除即可. 再啟動(dòng)weblogic的時(shí)候, 服務(wù)器會(huì)重新自動(dòng)生成一個(gè)Credential.
這個(gè)問(wèn)題在petstore for weblogic的readme中并沒(méi)有提到. 因此不少同志在安裝的時(shí)候遇到這個(gè)問(wèn)題. 在此進(jìn)行一下memo, 以饗后來(lái)人.