本文共 10924 字,大约阅读时间需要 36 分钟。
weblogic 10.3.3异常终止服务了检查日志文件发现如下错误信息:
<2014-7-12 下午02时20分45秒 CST> <> <> <> <1405146045970>
<2014-7-12 下午02时20分45秒 CST> <> <> <> <1405146045997> <2014-7-12 下午02时20分45秒 CST> <> <> <> <1405146045998> <2014-7-12 下午02时20分46秒 CST> <> <> <> <1405146046030> <2014-7-12 下午02时20分46秒 CST> <> <> <> <1405146046030> <2014-7-12 下午02时20分46秒 CST> <> <> <> <1405146046032> <2014-7-12 下午02时20分46秒 CST> <> <> <> <1405146046032> <2014-7-12 下午02时20分46秒 CST> <> <> <> <1405146046033> <2014-7-12 下午02时20分46秒 CST> <> <> <> <1405146046033> <2014-7-12 下午02时20分46秒 CST> <> <> <> <1405146046034> <2014-7-12 下午02时20分46秒 CST> <> <> <> <1405146046037> weblogic.management.DeploymentException: at weblogic.application.internal.flow.ApplicationRuntimeMBeanFlow.unprepare(ApplicationRuntimeMBeanFlow.java:64) at weblogic.application.internal.BaseDeployment$1.previous(BaseDeployment.java:1233) at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:167) at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:159) at weblogic.application.internal.BaseDeployment.unprepare(BaseDeployment.java:495) at weblogic.application.internal.SingleModuleDeployment.unprepare(SingleModuleDeployment.java:43) at weblogic.application.internal.DeploymentStateChecker.unprepare(DeploymentStateChecker.java:205) at weblogic.deploy.internal.targetserver.AppContainerInvoker.unprepare(AppContainerInvoker.java:117) at weblogic.deploy.internal.targetserver.BasicDeployment.unprepare(BasicDeployment.java:287) at weblogic.management.deploy.internal.DeploymentAdapter$1.doUnprepare(DeploymentAdapter.java:81) at weblogic.management.deploy.internal.DeploymentAdapter.unprepare(DeploymentAdapter.java:224) at weblogic.management.deploy.internal.AppTransition$7.transitionApp(AppTransition.java:75) at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240) at weblogic.management.deploy.internal.ConfiguredDeployments.unprepare(ConfiguredDeployments.java:204) at weblogic.management.deploy.internal.ConfiguredDeployments.undeploy(ConfiguredDeployments.java:192) at weblogic.management.deploy.internal.DeploymentServerService.shutdownApps(DeploymentServerService.java:195) at weblogic.management.deploy.internal.DeploymentServerService.shutdownHelper(DeploymentServerService.java:127) at weblogic.application.ApplicationShutdownService.halt(ApplicationShutdownService.java:142) at weblogic.t3.srvr.ServerServicesManager.haltInternal(ServerServicesManager.java:504) at weblogic.t3.srvr.ServerServicesManager.halt(ServerServicesManager.java:336) at weblogic.t3.srvr.T3Srvr.shutdown(T3Srvr.java:1039) at weblogic.t3.srvr.T3Srvr.forceShutdown(T3Srvr.java:945) at weblogic.t3.srvr.T3Srvr$2.run(T3Srvr.java:958)Caused By: java.lang.IllegalArgumentException: Failed to properly unregister for ObjectName com.bea:ServerRuntime=AdminServer,Name=default@plat_changde_test@null,WorkManagerRuntime=default,ApplicationRuntime=plat_changde_test,Type=RequestClassRuntime
at weblogic.management.jmx.ObjectNameManagerBase.unregisterObject(ObjectNameManagerBase.java:219) at weblogic.management.jmx.ObjectNameManagerBase.unregisterObjectInstance(ObjectNameManagerBase.java:192) at weblogic.management.mbeanservers.internal.RuntimeMBeanAgent$1.unregisteredInternal(RuntimeMBeanAgent.java:124) at weblogic.management.mbeanservers.internal.RuntimeMBeanAgent$1.unregistered(RuntimeMBeanAgent.java:108) at weblogic.management.provider.core.RegistrationManagerBase.invokeRegistrationHandlers(RegistrationManagerBase.java:187) at weblogic.management.provider.core.RegistrationManagerBase.unregister(RegistrationManagerBase.java:126) at weblogic.management.runtime.RuntimeMBeanDelegate.unregister(RuntimeMBeanDelegate.java:287) at weblogic.management.runtime.RuntimeMBeanDelegate.unregisterChildren(RuntimeMBeanDelegate.java:350) at weblogic.management.runtime.RuntimeMBeanDelegate.unregister(RuntimeMBeanDelegate.java:274) at weblogic.management.runtime.RuntimeMBeanDelegate.unregisterChildren(RuntimeMBeanDelegate.java:350) at weblogic.management.runtime.RuntimeMBeanDelegate.unregister(RuntimeMBeanDelegate.java:274) at weblogic.j2ee.J2EEApplicationRuntimeMBeanImpl.unregister(J2EEApplicationRuntimeMBeanImpl.java:359) at weblogic.application.internal.flow.ApplicationRuntimeMBeanFlow.unprepare(ApplicationRuntimeMBeanFlow.java:62) at weblogic.application.internal.BaseDeployment$1.previous(BaseDeployment.java:1233) at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:167) at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:159) at weblogic.application.internal.BaseDeployment.unprepare(BaseDeployment.java:495) at weblogic.application.internal.SingleModuleDeployment.unprepare(SingleModuleDeployment.java:43) at weblogic.application.internal.DeploymentStateChecker.unprepare(DeploymentStateChecker.java:205) at weblogic.deploy.internal.targetserver.AppContainerInvoker.unprepare(AppContainerInvoker.java:117) at weblogic.deploy.internal.targetserver.BasicDeployment.unprepare(BasicDeployment.java:287) at weblogic.management.deploy.internal.DeploymentAdapter$1.doUnprepare(DeploymentAdapter.java:81) at weblogic.management.deploy.internal.DeploymentAdapter.unprepare(DeploymentAdapter.java:224) at weblogic.management.deploy.internal.AppTransition$7.transitionApp(AppTransition.java:75) at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240) at weblogic.management.deploy.internal.ConfiguredDeployments.unprepare(ConfiguredDeployments.java:204) at weblogic.management.deploy.internal.ConfiguredDeployments.undeploy(ConfiguredDeployments.java:192) at weblogic.management.deploy.internal.DeploymentServerService.shutdownApps(DeploymentServerService.java:195) at weblogic.management.deploy.internal.DeploymentServerService.shutdownHelper(DeploymentServerService.java:127) at weblogic.application.ApplicationShutdownService.halt(ApplicationShutdownService.java:142) at weblogic.t3.srvr.ServerServicesManager.haltInternal(ServerServicesManager.java:504) at weblogic.t3.srvr.ServerServicesManager.halt(ServerServicesManager.java:336) at weblogic.t3.srvr.T3Srvr.shutdown(T3Srvr.java:1039) at weblogic.t3.srvr.T3Srvr.forceShutdown(T3Srvr.java:945) at weblogic.t3.srvr.T3Srvr$2.run(T3Srvr.java:958)出现原因 Caused By: java.lang.IllegalArgumentException: Failed to properly unregister for ObjectName com.bea:ServerRuntime=AdminServer,Name=default@plat_changde_test@null,WorkManagerRuntime=default,ApplicationRuntime=plat_changde_test,Type=RequestClassRuntime
在MOS上找到一篇关于这个错误的文章: In this Document Symptoms Cause Solution
APPLIES TO:
Oracle Weblogic Server - Version 9.2 to 10.3.3
Information in this document applies to any platform. ***Checked for relevance on 9-Aug-2013*** SYMPTOMSWhen you have JDBC connection pool name same as application name in config.xml we are running into the issue.
Steps to reproduce:
1. Create JDBC connection pool named 'SLA'. 2. Deploy an application with same name 'SLA' as JDBC connection pool in admin console.
Deployment is successful but you can find error in server log and stdout.
And if you reboot WebLogic Server and the first time you login to AdminConsole, the Error appears to the Server log and Stdout.
weblogic.work.RequestClassRuntimeMBeanImpl@194b41e> weblogic.management.DeploymentException: at weblogic.application.internal.flow.ApplicationRuntimeMBeanFlow.unprepare(ApplicationRuntimeMBeanFlow.java:64) at weblogic.application.internal.BaseDeployment$1.previous(BaseDeployment.java:615) at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:148) at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:138) at weblogic.application.internal.BaseDeployment.unprepare(BaseDeployment.java:249) Truncated. see log file for complete stacktrace CAUSE
During the shutdown following message is being logged.
This Mbean is not properly being unregistered which is causing the issue during the startup.
java.lang.IllegalArgumentException: Failed to properly unregister for ObjectName com.bea:ServerRuntime=svcdocen_16334_a,Name=default,ApplicationRuntime=PSL,Type=WorkManagerRuntime at weblogic.management.jmx.ObjectNameManagerBase.unregisterObject(ObjectNameManagerBase.java:219) at weblogic.management.jmx.ObjectNameManagerBase.unregisterObjectInstance(ObjectNameManagerBase.java:192) at weblogic.management.mbeanservers.internal.RuntimeMBeanAgent$1.unregisteredInternal(RuntimeMBeanAgent.java:124) at weblogic.management.mbeanservers.internal.RuntimeMBeanAgent$1.unregistered(RuntimeMBeanAgent.java:108) at weblogic.management.provider.core.RegistrationManagerBase.invokeRegistrationHandlers(RegistrationManagerBase.java:187) Truncated. see log file for complete stacktrace SOLUTION
Please change the jdbc name or app deployment name so that they do not match.
原因是
When you have JDBC connection pool name same as application name in config.xml we are running into the issue.检查config.xml文件:
[root@sx-weblogic31 config]# cat config.xml <?xml version='1.0' encoding='UTF-8'?>http://xmlns.oracle.com/weblogic/domain" xmlns:sec="" xmlns:wls="" xmlns:xsi="" xsi:schemaLocation=" "> mydomain 10.3.3.0 mydomain AuthenticatedUser http://xmlns.oracle.com/weblogic/security/xacml" xsi:type="xac:xacml-role-mapperType"> http://xmlns.oracle.com/weblogic/security/xacml" xsi:type="xac:xacml-authorizerType"> WebLogicCertPathProvider myrealm http://xmlns.oracle.com/weblogic/security/providers/passwordvalidator" xsi:type="pas:system-password-validatorType"> SystemPasswordValidator 8 1 myrealm {AES}wsHYvZhIJUlpy70jiWEvK9rEXhpKBeaGOedFwGvi98lggWpxJZy54ZnUoahXZdVjHhkfUZ35VYBb0+CnydezkGT+9rpoXYBNQrIV+Tis8RnKwGrUlT4AaWs8XrhmRGXR weblogic {AES}F+DsarQ73KG9jBwZHhqc7lwsOfCqW6vy/v/4m8z/M98= AdminServer false 7001 true 0.0.0.0 javac false Off mydomain {AES}KRu0/SO12zRNsVxlvhSSmagSp313L7HRRSVg0XLcj3+Gxm1EciwGDd+f8wsnJlbh 10.3.3.0 jb_zs AdminServer war /jb_zs 100 DDOnly jb_test AdminServer war /jb_test 100 DDOnly MonitorCenter AdminServer war /MonitorCenter 100 DDOnly MonitorGrid AdminServer war /MonitorGrid 100 DDOnly ChatServers AdminServer war /ChatServers 100 DDOnly plat_changde_test AdminServer war applications/plat_changde_test DDOnly plat_changde AdminServer war applications/plat_changde DDOnly hninsiis AdminServer war /root/tyzj/hninsiis.war 100 DDOnly AdminServer ldjc AdminServer jdbc/ldjc-jdbc.xml plat_changde_test AdminServer jdbc/plat_changde_test-jdbc.xml plat_changde AdminServer jdbc/plat_changde-jdbc.xml tyzj AdminServer jdbc/tyzj-jdbc.xml jb_test AdminServer jdbc/jbtest-jdbc.xml jb_zs AdminServer jdbc/jbzs-jdbc.xml在config.xml文件中确实存在jb_zs,jb_test,plat_changde_test,plat_changde的应用名与连接池名相同将其修改为不一样后重新weblogic解决了此问题.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26015009/viewspace-1220711/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26015009/viewspace-1220711/