Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 3021 invoked from network); 24 Nov 2004 18:51:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 24 Nov 2004 18:51:56 -0000 Received: (qmail 96372 invoked by uid 500); 24 Nov 2004 18:51:39 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 96338 invoked by uid 500); 24 Nov 2004 18:51:39 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@geronimo.apache.org Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 96319 invoked by uid 99); 24 Nov 2004 18:51:39 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from Unknown (HELO mgd.gluecode.com) (64.14.202.141) by apache.org (qpsmtpd/0.28) with ESMTP; Wed, 24 Nov 2004 10:51:37 -0800 Received: from [192.168.37.163] (adsl-209-233-18-245.dsl.snfc21.pacbell.net [209.233.18.245]) (authenticated bits=0) by mgd.gluecode.com (8.12.10/8.12.10) with ESMTP id iAOIpRCW004052 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 24 Nov 2004 10:51:28 -0800 Message-ID: <41A4D82D.1060205@gluecode.com> Date: Wed, 24 Nov 2004 10:51:25 -0800 From: Jeremy Boynes User-Agent: Mozilla Thunderbird 0.8 (Windows/20040913) X-Accept-Language: en-us, en MIME-Version: 1.0 To: dev@geronimo.apache.org Subject: Re: GBeans, Kernel and JMX Exceptions References: <26906998-3E48-11D9-B78A-000D93C5B79C@gluecode.com> In-Reply-To: <26906998-3E48-11D9-B78A-000D93C5B79C@gluecode.com> X-Enigmail-Version: 0.86.1.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Sounds reasonable - I can roll this into the ObjectName changes. -- Jeremy Dain Sundstrom wrote: > 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