Return-Path: Delivered-To: apmail-db-derby-commits-archive@www.apache.org Received: (qmail 63619 invoked from network); 15 Jul 2009 15:40:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 15 Jul 2009 15:40:31 -0000 Received: (qmail 30848 invoked by uid 500); 15 Jul 2009 15:40:41 -0000 Delivered-To: apmail-db-derby-commits-archive@db.apache.org Received: (qmail 30814 invoked by uid 500); 15 Jul 2009 15:40:41 -0000 Mailing-List: contact derby-commits-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: "Derby Development" List-Id: Delivered-To: mailing list derby-commits@db.apache.org Received: (qmail 30805 invoked by uid 99); 15 Jul 2009 15:40:41 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Jul 2009 15:40:41 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Jul 2009 15:40:37 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id A846B23889C5; Wed, 15 Jul 2009 15:40:16 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r794303 - /db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java Date: Wed, 15 Jul 2009 15:40:16 -0000 To: derby-commits@db.apache.org From: mamta@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090715154016.A846B23889C5@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: mamta Date: Wed Jul 15 15:40:16 2009 New Revision: 794303 URL: http://svn.apache.org/viewvc?rev=794303&view=rev Log: DERBY-4304 I have made changes to NetworkServerControlImpl.java so we handle the exceptions during different steps of server shutdown and continue with the next step in shutdown rather than bailing out after the first exception. Modified: db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java Modified: db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java?rev=794303&r1=794302&r2=794303&view=diff ============================================================================== --- db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java (original) +++ db/derby/code/trunk/java/drda/org/apache/derby/impl/drda/NetworkServerControlImpl.java Wed Jul 15 15:40:16 2009 @@ -804,26 +804,38 @@ } } - AccessController.doPrivileged( - new PrivilegedAction() { - public Object run() { - // Need to interrupt the memcheck thread if it is sleeping. - if (mc != null) - mc.interrupt(); - - //interrupt client thread - clientThread.interrupt(); - - return null; - } - }); + try { + AccessController.doPrivileged( + new PrivilegedAction() { + public Object run() { + // Need to interrupt the memcheck thread if it is sleeping. + if (mc != null) + mc.interrupt(); + + //interrupt client thread + clientThread.interrupt(); + + return null; + } + }); + } catch (Exception exception) { + consolePropertyMessage("DRDA_UnexpectedException.S", + exception.getMessage()); + consoleExceptionPrintTrace(exception); + } // Close out the sessions synchronized(sessionTable) { for (Enumeration e = sessionTable.elements(); e.hasMoreElements(); ) { Session session = (Session) e.nextElement(); - session.close(); + try { + session.close(); + } catch (Exception exception) { + consolePropertyMessage("DRDA_UnexpectedException.S", + exception.getMessage()); + consoleExceptionPrintTrace(exception); + } } } @@ -832,16 +844,22 @@ //interupt any connection threads still active for (int i = 0; i < threadList.size(); i++) { - final DRDAConnThread threadi = (DRDAConnThread)threadList.get(i); - - threadi.close(); - AccessController.doPrivileged( - new PrivilegedAction() { - public Object run() { - threadi.interrupt(); - return null; - } - }); + try { + final DRDAConnThread threadi = (DRDAConnThread)threadList.get(i); + + threadi.close(); + AccessController.doPrivileged( + new PrivilegedAction() { + public Object run() { + threadi.interrupt(); + return null; + } + }); + } catch (Exception exception) { + consolePropertyMessage("DRDA_UnexpectedException.S", + exception.getMessage()); + consoleExceptionPrintTrace(exception); + } } threadList.clear(); } @@ -851,18 +869,33 @@ serverSocket.close(); }catch(IOException e){ consolePropertyMessage("DRDA_ListenerClose.S", true); + } catch (Exception exception) { + consolePropertyMessage("DRDA_UnexpectedException.S", + exception.getMessage()); + consoleExceptionPrintTrace(exception); } - // Wake up those waiting on sessions, so // they can close down - synchronized (runQueue) { - runQueue.notifyAll(); - } + try{ + synchronized (runQueue) { + runQueue.notifyAll(); + } + } catch (Exception exception) { + consolePropertyMessage("DRDA_UnexpectedException.S", + exception.getMessage()); + consoleExceptionPrintTrace(exception); + } // And now unregister any MBeans. - mgmtService.unregisterMBean(versionMBean); - mgmtService.unregisterMBean(networkServerMBean); + try { + mgmtService.unregisterMBean(versionMBean); + mgmtService.unregisterMBean(networkServerMBean); + } catch (Exception exception) { + consolePropertyMessage("DRDA_UnexpectedException.S", + exception.getMessage()); + consoleExceptionPrintTrace(exception); + } if (shutdownDatabasesOnShutdown) { @@ -891,6 +924,10 @@ consolePropertyMessage("DRDA_ShutdownWarning.I", sqle.getMessage()); } + } catch (Exception exception) { + consolePropertyMessage("DRDA_UnexpectedException.S", + exception.getMessage()); + consoleExceptionPrintTrace(exception); } }