weblogic 10.3.3 java.lang.IllegalArgumentException異常終止服務故障

eric0435發表於2014-07-16

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 weblogic.work.RequestClassRuntimeMBeanImpl@50b20090 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 weblogic.work.RequestClassRuntimeMBeanImpl@50b20090 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***
SYMPTOMS

When 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 weblogic.work.WorkManagerRuntimeMBeanImpl@145e095 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

http://xmlns.oracle.com/weblogic/domain" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/security/xacml http://xmlns.oracle.com/weblogic/security/xacml/1.0/xacml.xsd http://xmlns.oracle.com/weblogic/security/providers/passwordvalidator http://xmlns.oracle.com/weblogic/security/providers/passwordvalidator/1.0/passwordvalidator.xsd http://xmlns.oracle.com/weblogic/domain http://xmlns.oracle.com/weblogic/1.0/domain.xsd http://xmlns.oracle.com/weblogic/security http://xmlns.oracle.com/weblogic/1.0/security.xsd http://xmlns.oracle.com/weblogic/security/wls http://xmlns.oracle.com/weblogic/security/wls/1.0/wls.xsd">
  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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章