ITPub博客

首页 > Linux操作系统 > Linux操作系统 > weblogic 10.3.3 java.lang.IllegalArgumentException异常终止服务故障

weblogic 10.3.3 java.lang.IllegalArgumentException异常终止服务故障

原创 Linux操作系统 作者:eric0435 时间:2014-07-16 20:10:38 1 删除 编辑

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="http://www.w3.org/2001/XMLSchema-instance" 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博客 ” ,链接:https://blog.itpub.net/26015009/viewspace-1220711/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
系统架构师 Oracle ACE

注册时间:2011-10-12

  • 博文量
    716
  • 访问量
    6625877