Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 48084 invoked from network); 5 Jun 2005 01:22:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 5 Jun 2005 01:22:48 -0000 Received: (qmail 26847 invoked by uid 500); 5 Jun 2005 01:22:47 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 26817 invoked by uid 500); 5 Jun 2005 01:22:46 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 26802 invoked by uid 99); 5 Jun 2005 01:22:46 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Sat, 04 Jun 2005 18:22:46 -0700 Received: (qmail 48064 invoked by uid 65534); 5 Jun 2005 01:22:45 -0000 Message-ID: <20050605012245.48063.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: svn commit: r180044 - /geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/runtime/GBeanInstance.java Date: Sun, 05 Jun 2005 01:22:44 -0000 To: scm@geronimo.apache.org From: dain@apache.org X-Mailer: svnmailer-1.0.0-dev X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: dain Date: Sat Jun 4 18:22:40 2005 New Revision: 180044 URL: http://svn.apache.org/viewcvs?rev=3D180044&view=3Drev Log: Fix memory leak - Call offline on the references when destroying the gbean = instance so the listeners unregister Modified: geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/runtim= e/GBeanInstance.java Modified: geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/= runtime/GBeanInstance.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/kernel/src/java/o= rg/apache/geronimo/gbean/runtime/GBeanInstance.java?rev=3D180044&r1=3D18004= 3&r2=3D180044&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/runtim= e/GBeanInstance.java (original) +++ geronimo/trunk/modules/kernel/src/java/org/apache/geronimo/gbean/runtim= e/GBeanInstance.java Sat Jun 4 18:22:40 2005 @@ -330,11 +330,15 @@ =20 // if the bean is already stopped or failed, this will do nothing;= otherwise it will shutdown the bean int state =3D getState(); - if (state =3D=3D State.STOPPED_INDEX || state =3D=3D State.FAILED_= INDEX) { - log.error("GBeanInstance should already be stopped before die(= ) is called: objectName=3D" + objectName); + if (state !=3D State.STOPPED_INDEX && state !=3D State.FAILED_INDE= X) { + log.error("GBeanInstance should already be stopped before die(= ) is called: objectName=3D" + objectName + " state=3D" + State.fromInt(stat= e)); } =20 gbeanInstanceState.fail(); + + for (int i =3D 0; i < references.length; i++) { + references[i].offline(); + } =20 // tell everyone we are done lifecycleBroadcaster.fireUnloadedEvent();