Back Forum Reply New

weblogic.management.NoAccessRuntimeException

I am using spring 2.0.4, WebLogic 9.2 MP1, JDK 5 (150_06) and trying to get a custom JMX bean exported so that I can use the Wily Introscope tool and monitor a few application level things.  I can get the bean to export fine, but when I update the app through the WLS console so that I can deploy changes I get an error when the exporter attempts to unregister the JMX bean:

2007-07-11 13:57:30,714 ERROR [org..beans.factory.support.Disposab  leBeanAdapter] - amp;lt;Couldn't invoke destroy method of bean with name 'exporter'amp;gt;
weblogic.management.NoAccessRuntimeException: Access not allowed for subject: principals=[], on ResourceType: DualAuthLogonStatistics Action: unregister, Target: null       at weblogic.management.internal.SecurityHelper$IsAcce  ssAllowedPrivilegeAction.wlsRun(SecurityHelper.jav  a:800)       at weblogic.management.internal.SecurityHelper$IsAcce  ssAllowedPrivilegeAction.run(SecurityHelper.java:6  64)       at weblogic.security.acl.internal.AuthenticatedSubjec  t.doAs(AuthenticatedSubject.java:321)       at weblogic.security.service.SecurityManager.runAs(Se  curityManager.java:121)       at weblogic.management.internal.SecurityHelper.isAcce  ssAllowed(SecurityHelper.java:259)       at weblogic.management.internal.SecurityHelper.isAcce  ssAllowed(SecurityHelper.java:148)       at weblogic.management.mbeanservers.internal.Security  Interceptor.checkUnregisterSecurity(SecurityInterc  eptor.java:615)       at weblogic.management.mbeanservers.internal.Security  Interceptor.unregisterMBean(SecurityInterceptor.ja  va:303)       at weblogic.management.mbeanservers.internal.Authenti  catedSubjectInterceptor$7.run(AuthenticatedSubject  Interceptor.java:260)       at weblogic.security.acl.internal.AuthenticatedSubjec  t.doAs(AuthenticatedSubject.java:363)       at weblogic.management.mbeanservers.internal.Authenti  catedSubjectInterceptor.unregisterMBean(Authentica  tedSubjectInterceptor.java:258)       at weblogic.management.jmx.mbeanserver.WLSMBeanServer  .unregisterMBean(WLSMBeanServer.java:203)       at org..jmx.support.MBeanRegistrationS  upport.unregisterBeans(MBeanRegistrationSupport.ja  va:206)       at org..jmx.export.MBeanExporter.destr  oy(MBeanExporter.java:397)       at org..beans.factory.support.Disposab  leBeanAdapter.destroy(DisposableBeanAdapter.java:1  45)       at org..beans.factory.support.DefaultS  ingletonBeanRegistry.destroyBean(DefaultSingletonB  eanRegistry.java:335)       at org..beans.factory.support.DefaultS  ingletonBeanRegistry.destroySingleton(DefaultSingl  etonBeanRegistry.java:308)       at org..beans.factory.support.DefaultS  ingletonBeanRegistry.destroySingletons(DefaultSing  letonBeanRegistry.java:282)       at org..context.support.AbstractApplic  ationContext.destroyBeans(AbstractApplicationConte  xt.java:676)       at org..context.support.AbstractApplic  ationContext.doClose(AbstractApplicationContext.ja  va:654)       at org..context.support.AbstractApplic  ationContext.close(AbstractApplicationContext.java  :621)       at org..web.servlet.FrameworkServlet.d  estroy(FrameworkServlet.java:533)       at weblogic.servlet.internal.StubSecurityHelper$Servl  etDestroyAction.run(StubSecurityHelper.java:292)       at weblogic.security.acl.internal.AuthenticatedSubjec  t.doAs(AuthenticatedSubject.java:321)       at weblogic.security.service.SecurityManager.runAs(Se  curityManager.java:121)       at weblogic.servlet.internal.StubSecurityHelper.destr  oyServlet(StubSecurityHelper.java:81)       at weblogic.servlet.internal.StubLifecycleHelper.dest  royOneInstance(StubLifecycleHelper.java:134)       at weblogic.servlet.internal.StubLifecycleHelper.dest  roy(StubLifecycleHelper.java:124)       at weblogic.servlet.internal.ServletStubImpl.destroy(  ServletStubImpl.java:412)       at weblogic.servlet.internal.WebAppServletContext.des  troyServlets(WebAppServletContext.java:2862)       at weblogic.servlet.internal.WebAppServletContext.des  troy(WebAppServletContext.java:2825)       at weblogic.servlet.internal.ServletContextManager.de  stroyContext(ServletContextManager.java:236)       at weblogic.servlet.internal.fromServer.unloadWebApp(  fromServer.java:440)       at weblogic.servlet.internal.WebAppModule.destroyCont  exts(WebAppModule.java:916)       at weblogic.servlet.internal.WebAppModule.deactivate(  WebAppModule.java:346)       at weblogic.application.internal.flow.ModuleStateDriv  er$2.previous(ModuleStateDriver.java:188)       at weblogic.application.utils.StateMachineDriver.prev  iousState(StateMachineDriver.java:52)       at weblogic.application.utils.StateMachineDriver.prev  iousState(StateMachineDriver.java:42)       at weblogic.application.internal.flow.ModuleStateDriv  er.deactivate(ModuleStateDriver.java:71)       at weblogic.application.internal.flow.ScopedModuleDri  ver.deactivate(ScopedModuleDriver.java:206)       at weblogic.application.internal.flow.ModuleListenerI  nvoker.deactivate(ModuleListenerInvoker.java:124)       at weblogic.application.internal.flow.DeploymentCallb  ackFlow$2.previous(DeploymentCallbackFlow.java:387  )       at weblogic.application.utils.StateMachineDriver.prev  iousState(StateMachineDriver.java:52)       at weblogic.application.utils.StateMachineDriver.prev  iousState(StateMachineDriver.java:42)       at weblogic.application.internal.flow.DeploymentCallb  ackFlow.deactivate(DeploymentCallbackFlow.java:88)       at weblogic.application.internal.flow.DeploymentCallb  ackFlow.deactivate(DeploymentCallbackFlow.java:80)       at weblogic.application.internal.BaseDeployment$2.pre  vious(BaseDeployment.java:641)       at weblogic.application.utils.StateMachineDriver.prev  iousState(StateMachineDriver.java:52)       at weblogic.application.utils.StateMachineDriver.prev  iousState(StateMachineDriver.java:42)       at weblogic.application.internal.BaseDeployment.deact  ivate(BaseDeployment.java:234)       at weblogic.application.internal.DeploymentStateCheck  er.deactivate(DeploymentStateChecker.java:189)       at weblogic.deploy.internal.targetserver.AppContainer  Invoker.deactivate(AppContainerInvoker.java:99)       at weblogic.deploy.internal.targetserver.BasicDeploym  ent.deactivate(BasicDeployment.java:260)       at weblogic.deploy.internal.targetserver.BasicDeploym  ent.deactivateFromServerLifecycle(BasicDeployment.  java:449)       at weblogic.management.deploy.internal.DeploymentAdap  ter$1.doDeactivate(DeploymentAdapter.java:75)       at weblogic.management.deploy.internal.DeploymentAdap  ter.deactivate(DeploymentAdapter.java:201)       at weblogic.management.deploy.internal.AppTransition$  6.transitionApp(AppTransition.java:66)       at weblogic.management.deploy.internal.ConfiguredDepl  oyments.transitionApps(ConfiguredDeployments.java:  233)       at weblogic.management.deploy.internal.ConfiguredDepl  oyments.deactivate(ConfiguredDeployments.java:198)       at weblogic.management.deploy.internal.ConfiguredDepl  oyments.undeploy(ConfiguredDeployments.java:191)       at weblogic.management.deploy.internal.DeploymentServ  erService.shutdownApps(DeploymentServerService.jav  a:188)       at weblogic.management.deploy.internal.DeploymentServ  erService.shutdownHelper(DeploymentServerService.j  ava:120)       at weblogic.application.ApplicationService.halt(Appli  cationService.java:142)       at weblogic.t3.srvr.ServerServicesManager.haltInterna  l(ServerServicesManager.java:417)       at weblogic.t3.srvr.ServerServicesManager.halt(Server  ServicesManager.java:264)       at weblogic.t3.srvr.T3Srvr.shutdown(T3Srvr.java:865)       at weblogic.t3.srvr.T3Srvr.forceShutdown(T3Srvr.java:  773)       at weblogic.t3.srvr.ServerRuntime.forceShutdown(Serve  rRuntime.java:330)       at weblogic.server.RemoteLifeCycleOperationsImpl.forc  eShutdown(RemoteLifeCycleOperationsImpl.java:57)       at weblogic.server.RemoteLifeCycleOperationsImpl_WLSk  el.invoke(Unknown Source)       at weblogic.rmi.internal.BasicServerRef.invoke(BasicS  erverRef.java:548)       at weblogic.rmi.internal.BasicServerRef$1.run(BasicSe  rverRef.java:438)       at weblogic.security.acl.internal.AuthenticatedSubjec  t.doAs(AuthenticatedSubject.java:363)       at weblogic.security.service.SecurityManager.runAs(Se  curityManager.java:147)       at weblogic.rmi.internal.BasicServerRef.handleRequest  (BasicServerRef.java:434)       at weblogic.rmi.internal.BasicServerRef.access$300(Ba  sicServerRef.java:57)       at weblogic.rmi.internal.BasicServerRef$BasicExecuteR  equest.run(BasicServerRef.java:965)       at weblogic.work.ExecuteThread.execute(ExecuteThread.  java:209)       at weblogic.work.ExecuteThread.run(ExecuteThread.java  :181)

When the app updates, the JMX bean is not registered again and I have to bounce the WLS node in order to have it register.  I will post the spring config XML file because this post is too long.

Any ideas?

Here is the application spring config XML:
   lt;bean id=quot;dualAuthStatsquot; class=quot;com.zionsbancorp.cbt.management.DualAuthSta  tsquot; scope=quot;singletonquot;/gt;

lt;bean id=quot;exporterquot; class=quot;org..jmx.export.MBeanExporte  rquot; lazy-init=quot;falsequot;gt;     lt;property name=quot;serverquot; ref=quot;mBeanServerquot; /gt;     lt;property name=quot;assemblerquot; ref=quot;assemblerquot;gt;lt;/propertygt;     lt;property name=quot;beansquot;gt;        lt;mapgt;          lt;entry key=quot;cbt:Name=ESSPRuntime,Type=DualAuthLogonStatis  ticsquot; value-ref=quot;dualAuthStatsquot; /gt;        lt;/mapgt;     lt;/propertygt;     lt;property name=quot;registrationBehaviorNamequot; value=quot;REGISTRATION_IGNORE_EXISTINGquot; /gt;     lt;property name=quot;autodetectquot; value=quot;truequot; /gt;
lt;/beangt;

lt;bean id=quot;assemblerquot; class=quot;org..jmx.export.assembler.In  terfaceBasedMBeanInfoAssemblerquot;gt;
lt;property name=quot;interfaceMappingsquot;gt;
lt;propsgt;
lt;prop key=quot;cbt:Name=ESSPRuntime,Type=DualAuthLogonStatis  ticsquot;gt;com.zionsbancorp.cbt.management.DualAuthStat  sMBeanlt;/propgt;
lt;/propsgt;
lt;/propertygt;
lt;/beangt;
   lt;bean id=quot;mBeanServerquot; class=quot;org..jndi.JndiObjectFactoryB  eanquot;gt;     lt;property name=quot;jndiNamequot; value=quot;java:comp/env/jmx/runtimequot; /gt;   lt;/beangt;
¥
Back Forum Reply New