dain 2004/02/10 18:55:28
Modified: modules/kernel/src/java/org/apache/geronimo/gbean/jmx
GBeanMBeanAttribute.java
Log:
A little better exception handling...
Revision Changes Path
1.6 +10 -4
incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/GBeanMBeanAttribute.java
Index: GBeanMBeanAttribute.java
===================================================================
RCS file:
/home/cvs/incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/GBeanMBeanAttribute.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- GBeanMBeanAttribute.java 29 Jan 2004 06:03:35 -0000 1.5
+++ GBeanMBeanAttribute.java 11 Feb 2004 02:55:28 -0000 1.6
@@ -274,14 +274,20 @@
return mbeanAttributeInfo;
}
- public void online() throws ReflectionException {
+ public void online() throws Exception {
if (persistent && !isConstructorArg && setInvoker != null) {
ClassLoader oldClassLoader =
Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(gmbean.getClassLoader());
setInvoker.invoke(gmbean.getTarget(), new
Object[]{persistentValue});
- } catch (Throwable throwable) {
- throw new ReflectionException(new
InvocationTargetException(throwable));
+ } catch (InvocationTargetException e) {
+ Throwable targetException = e.getTargetException();
+ if(targetException instanceof Exception) {
+ throw (Exception)targetException;
+ } else if (targetException instanceof Error) {
+ throw (Error)targetException;
+ }
+ throw e;
} finally {
Thread.currentThread().setContextClassLoader(oldClassLoader);
}