One example of a mixed mbean service notion causing reploy problems is
the org.jboss.ejb.plugins.CMPPersistenceManager. This implements the
Service contract, but does not extend ServiceMBeanSupport and so direct
calls to start by the EjbModule.startService have no guarentee that the
CMPPersistenceManager has been created.
Scott M Stark wrote:
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.
_______________________________________________
jboss-development mailing list
jboss-development(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-development