[JBoss-dev] jboss-head status

Scott M Stark scott.stark at jboss.org
Thu Aug 24 11:07:59 EDT 2006


There are still a number of sporadic 
InstanceNotFoundException/NullPointerException errors are due to the 
inconsistent handling of mbean services as services to be managed by the 
ServiceController. In a number places there is code like this in the 
EntityContainer:

         // Try to register the instance cache as an MBean
         try
         {
            ObjectName containerName = super.getJmxName();
            Hashtable props = containerName.getKeyPropertyList();
            props.put("plugin", "cache");
            ObjectName cacheName = new 
ObjectName(containerName.getDomain(), props);
            server.registerMBean(instanceCache, cacheName);
         }
         catch(Throwable t)
         {
            log.debug("Failed to register cache as mbean", t);
         }

Subsequent use of this mbean as a jboss mbean service can result in the 
ServiceController taking ownership of the mbean and removing it on 
undeployment, and this can cause the InstanceNotFoundException when a 
container redundantly tries to remove the mbean it registered. This has 
to be cleaned up to only use the ServiceController to manage the mbeans. 
The issue is, this is all deployer code that needs to be updated to the 
vdf anyway. Maybe this should be done as it will have to be done 
regardless, but I don't want to waste too much time away from getting 
deployers ported to the VDF.

The NullPointerExceptions showing up tend to result in a failure at one 
point triggering a cascade of destroys on services that were never fully 
created. Its sporadic so I don't know if its because of some lifecycle 
calls not going through the controller, configuration of mbeans 
happening outside of lifecycle, etc.




More information about the jboss-development mailing list