geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dain Sundstrom <dsundst...@gluecode.com>
Subject GBeans, Kernel and JMX Exceptions
Date Wed, 24 Nov 2004 18:39:18 GMT
One of the last areas of tight coupling to JMX in the Geronimo kernel 
and the GBean architecture is the use of JMX Exceptions.  These the 
exceptions are normally not declared as part of the interface, but are 
thrown from the methods that declare "throws Exception".  I propose 
that we catch all JMX exceptions and convert them to the following 
Geronimo specific exceptions:

KernelException - Base class for the following exceptions.  Direct 
subclass of Exception.

GBeanNotFoundException - Thrown from getAttribute, setAttribute, 
invoke, getGBeanInfo, getClassLoaderFor, startGBean, 
startRecursiveGBean, stopGBean, and unloadGBean.  This replaces 
javax.management.InstanceNotFoundException.

GBeanAlreadyExistsException - Thrown from loadGBean.  This replaces 
javax.management.InstanceAlreadyExistsException.

InvalidGBeanException - Thrown from loadGBean.  This is used instead of 
javax.management.NotCompliantMBeanException.

NoSuchAttributeException - Thrown from getAttribute and setAttribute.  
This replaces javax.management.AttributeNotFoundException

NoSuchOperationException - Thrown from invoke.  There is no equivalent 
exception in JMX.

InternalKernelException - Extend runtime exception. Thrown from all 
methods on kernel.  This exception will contain any java.lang.Exception 
(and for the improbable case of direct subclass of java.lang.Throwable) 
thrown from the kernel or gbean architecture itself.  This allows 
callers to differentiate between kernel problems and exceptions from 
the GBean instance implementation.

-dain

--
Dain Sundstrom
Chief Architect
Gluecode Software
310.536.8355, ext. 26


Mime
View raw message