KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > uk > org > primrose > pool > servlet > PoolDestructorServlet


1 /**
2 * Library name : Primrose - A Java Database Connection Pool.
3 * Published by Ben Keeping, http://primrose.org.uk .
4 * Copyright (C) 2004 Ben Keeping, primrose.org.uk
5 * Email: Use "Contact Us Form" on website
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */

21
22 package uk.org.primrose.pool.servlet;
23
24 import java.io.IOException JavaDoc;
25 import javax.servlet.http.HttpServlet JavaDoc;
26 import javax.naming.*;
27 import java.lang.reflect.*;
28
29 public class PoolDestructorServlet extends HttpServlet JavaDoc {
30     public void destroy() {
31         try {
32                 Context ctx = new InitialContext();
33                 Object JavaDoc object = ctx.lookup("java:comp/env/shutdownPrimrose");
34         Class JavaDoc targetClass = object.getClass();
35         Method[] publicMethods = targetClass.getMethods();
36         for (int j = 0; j < publicMethods.length; j++) {
37             String JavaDoc fieldName = publicMethods[j].getName();
38             Class JavaDoc typeClass = publicMethods[j].getReturnType();
39             String JavaDoc fieldType = typeClass.getName();
40             if (fieldName.equals("shutdown")) {
41                 publicMethods[j].invoke(object, new Object JavaDoc[]{});
42                 break;
43             }
44
45         }
46
47         } catch (Exception JavaDoc e) {
48         e.printStackTrace();
49     }
50
51     }
52 }
53
Popular Tags