One quick comment- the ServiceController only knows about mbeans that were deployed through it as a service the mbeanserver knows about all the mbeans. In particular, there is a ZClassloader for each mbean you deployed through ServiceController. I think the others are mostly startup mbeans started directly before ServiceController so you can deploy things through ServiceDeployer and ServiceController.
Personally, I still don't see the need for the ZClassLoaders. I kind of think the dependencies on the codebase the mbeans use and the hot-redeploy of all such jars makes them unnecessary. But, I might be missing their point. david jencks On 2001.10.19 11:26:25 -0400 Peter Fagerlund wrote: > The shutdown hook started in the org.jboss.system.Shutdown(MBean) works > correct while invoking it throught ctrl-c ... invoking throught :8082 > either > with a browser or jboss_init_redhat.sh using org.jboss.shutdown is > failing > since the call is unreferencing the caller -chain while > stopping(/destroying/unloading) ... > > So I do not stop/destroy/unload the MBeans needed for 8082 in a debug > shutdown class I am about to commit for Your comments/solutions ... > > Right now i have a handle to all services from > ServiceController.getDeployed() in > org.jboss.system.Shutdown.shutdownServices() and are doing some logic > there > ... my findings *drive* towards separating the shutdown in *phases* and > then > perhaps delegate from from shutdownServices() to : > > Core (GPA) > Core Services (MBeans) > Deployments (AutoDeployer) > > I am not shure if the shutdown hook should be installed as a MBean ? ... > maybe as a POJO in the main class ? ... eitherway We need to Map the > (un)dependecy logic ? ... somehow ... > > The first undeployed should be the last -> first deployment > (AutoDeployer) > Then undeploy depending on dependencies (MBeans) > The last undeployed should be the log > Then System.exit(0) will take care of GPA > > There seem to be a fragmentation in how We behave in our MBeans with > stop/destroy/unload and naming semantics... > MQ seems to do some clean up in destroy and referencing Mbeans that then > has > already stopped/destroyed ... and so on ... I need to look at this some > more > ... together with You all ! ... > > our jboss-3.0.0alpha default 43 MBeans and the naming ! ... > as returned from ServiceController.getDeployed() > ******************************************************************** > JCA:name=JmsXA,service=ConnectionFactoryLoader > :name=StdJMSPool,service=ServerSessionPoolMBean > :name=JBossMQProvider,service=JMSProviderLoader > JBossMQ:name=DLQ,service=Queue > JBossMQ:name=ex,service=Queue > JBossMQ:name=F,service=Queue > JBossMQ:name=E,service=Queue > JBossMQ:name=D,service=Queue > JBossMQ:name=C,service=Queue > JBossMQ:name=B,service=Queue > JBossMQ:name=A,service=Queue > JBossMQ:name=controlQueue,service=Queue > JBossMQ:name=testQueue,service=Queue > JBossMQ:name=bob,service=Topic > JBossMQ:name=example,service=Topic > JBossMQ:name=testTopic,service=Topic > JBossMQ:service=InvocationLayer,type=UIL > JBossMQ:service=InvocationLayer,type=OIL > JBossMQ:service=InvocationLayer,type=RMI > JBossMQ:service=InvocationLayer,type=JVM > JBossMQ:service=PersistenceManager > JBossMQ:service=StateManager > JBossMQ:service=Server > JBOSS-SYSTEM:name=DefaultDS,service=ConnectionFactoryLoader > JBOSS-SYSTEM:service=Hypersonic > JCA:service=RARDeployer > J2EE:service=J2eeDeployer > JBOSS-SYSTEM:service=ContainerFactory > JBOSS-SYSTEM:service=Mail > JBOSS-SYSTEM:service=Jetty > JCA:name=MinervaXACMFactory,service=ConnectionManagerFactoryLoader > JCA:name=MinervaSharedLocalCMFactory,service=ConnectionManagerFactoryLoader > JCA:name=MinervaNoTransCMFactory,service=ConnectionManagerFactoryLoader > JMX:name=Connector,type=RMI > Adaptor:name=html > JBOSS-SYSTEM:service=AutoDeployer > JBOSS-SYSTEM:service=ClientUserTransaction > JBOSS-SYSTEM:service=TransactionManager > Security:name=JaasSecurityManager > Security:name=SecurityConfig > JBOSS-SYSTEM:service=JNDIView > JBOSS-SYSTEM:service=Naming > JBOSS-SYSTEM:service=Webserver > ******************************************************************** > > If You now anything about the above MBeans can You check the relevant > undeploy messages and dependencys ... when running the new ***debug*** > org.jboss.system.Shutdown() > > I am looking at ServiceController service name above > :name=StdJMSPool,service=ServerSessionPoolMBean > and the MBean Server service name (below) has it as > JBOSS-SYSTEM:name=StdJMSPool,service=ServerSessionPoolMBean > > ++ > > ??? > > our jboss-3.0.0alpha default 95 MBeans and the naming ! ... > as returned from MBeanServer.queryNames(null, null) > ******************************************************************** > ZClassLoaders:id=1834657505 > ZClassLoaders:id=1024097707 > JBOSS-SYSTEM:service=AutoDeployer > ZClassLoaders:id=-217826988 > ZClassLoaders:id=-1763317780 > ZClassLoaders:id=757739105 > JBOSS-SYSTEM:service=TransactionManager > Security:name=JaasSecurityManager > ZClassLoaders:id=-364644404 > ZClassLoaders:id=-28077840 > ZClassLoaders:id=1444653299 > JBossMQ:name=DLQ,service=Queue > JBossMQ:name=bob,service=Topic > ZClassLoaders:id=-884717210 > JBossMQ:name=controlQueue,service=Queue > J2EE:service=J2eeDeployer > ZClassLoaders:id=272735180 > ZClassLoaders:id=-1535629649 > ZClassLoaders:id=1150410981 > ZClassLoaders:id=-1848367062 > ZClassLoaders:id=-397132413 > ZClassLoaders:id=1117837941 > JBOSS-SYSTEM:spine=ServiceController > JCA:name=MinervaNoTransCMFactory,service=ConnectionManagerFactoryLoader > JBOSS-SYSTEM:service=Jetty > JBossMQ:service=PersistenceManager > JBOSS-SYSTEM:service=JNDIView > JBossMQ:service=InvocationLayer,type=UIL > JBossMQ:name=B,service=Queue > ZClassLoaders:id=749384218 > JBOSS-SYSTEM:service=ContainerFactory > JBossMQ:service=StateManager > JCA:name=JmsXA,service=ConnectionFactoryLoader > JBOSS-SYSTEM:service=Webserver > ZClassLoaders:id=767188900 > JBossMQ:name=D,service=Queue > JBOSS-SYSTEM:spine=ServiceLibraries > Jetty:Jetty=0 > ZClassLoaders:id=-1676017461 > ZClassLoaders:id=757744871 > JBossMQ:name=testQueue,service=Queue > ZClassLoaders:id=-1435351005 > JBossMQ:name=example,service=Topic > ZClassLoaders:id=-1918247651 > ZClassLoaders:id=-1173593481 > JBOSS-SYSTEM:service=Info > JBOSS-SYSTEM:name=DefaultDS,service=ConnectionFactoryLoader > JMImplementation:type=MBeanServerDelegate > JBossMQ:name=F,service=Queue > JBOSS-SYSTEM:service=Hypersonic > JBOSS-SYSTEM:type=Shutdown > JBOSS-SYSTEM:service=Mail > JBossMQ:service=InvocationLayer,type=OIL > JBossMQ:service=Server > ZClassLoaders:id=-255765971 > Adaptor:name=html > JBossMQ:service=InvocationLayer,type=JVM > JMX:name=Connector,type=RMI > JCA:name=MinervaXACMFactory,service=ConnectionManagerFactoryLoader > ZClassLoaders:id=-1733376771 > JBOSS-SYSTEM:service=ClientUserTransaction > ZClassLoaders:id=-858822424 > ZClassLoaders:id=1251785838 > ZClassLoaders:id=-647286175 > JBOSS-SYSTEM:spine=ServiceClassLoader > ZClassLoaders:id=757742109 > ZClassLoaders:id=-1802790593 > ZClassLoaders:id=-1704732450 > ZClassLoaders:id=355443262 > ZClassLoaders:id=-839633995 > JCA:service=RARDeployer > JBOSS-SYSTEM:service=ServiceDeployer > ZClassLoaders:id=894298020 > ZClassLoaders:id=757734704 > JBossMQ:service=InvocationLayer,type=RMI > ZClassLoaders:id=332652630 > ZClassLoaders:id=643879817 > JBossMQ:name=ex,service=Queue > JBOSS-SYSTEM:service=Naming > ZClassLoaders:id=618377029 > ZClassLoaders:id=1008929138 > JBossMQ:name=A,service=Queue > JCA:name=MinervaSharedLocalCMFactory,service=ConnectionManagerFactoryLoader > ZClassLoaders:id=-164344006 > JBossMQ:name=E,service=Queue > ZClassLoaders:id=-1824674805 > ZClassLoaders:id=-1084842115 > JBossMQ:name=testTopic,service=Topic > Security:name=SecurityConfig > JBOSS-SYSTEM:name=JBossMQProvider,service=JMSProviderLoader > JBOSS-SYSTEM:name=StdJMSPool,service=ServerSessionPoolMBean > JBossMQ:name=C,service=Queue > ZClassLoaders:id=1442845140 > JBOSS-SYSTEM:service=Logging,type=Log4J > ZClassLoaders:id=1335445824 > ******************************************************************** > > names should return the same ? ... > (un)dependencys ? ... > where should the logic go ? ... > > Its is clean now --lets make it squeeeeeeeekyyyyyy so .... > > /peter_f > > > _______________________________________________ > Jboss-development mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-development > > _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
