1 /* 2 * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package javax.sql; 27 28 /** 29 * <P> 30 * An object that registers to be notified of events generated by a 31 * <code>PooledConnection</code> object. 32 * <P> 33 * The <code>ConnectionEventListener</code> interface is implemented by a 34 * connection pooling component. A connection pooling component will 35 * usually be provided by a JDBC driver vendor or another system software 36 * vendor. A JDBC driver notifies a <code>ConnectionEventListener</code> 37 * object when an application is finished using a pooled connection with 38 * which the listener has registered. The notification 39 * occurs after the application calls the method <code>close</code> on 40 * its representation of a <code>PooledConnection</code> object. A 41 * <code>ConnectionEventListener</code> is also notified when a 42 * connection error occurs due to the fact that the <code>PooledConnection</code> 43 * is unfit for future use---the server has crashed, for example. 44 * The listener is notified by the JDBC driver just before the driver throws an 45 * <code>SQLException</code> to the application using the 46 * <code>PooledConnection</code> object. 47 * 48 * @since 1.4 49 */ 50 51 public interface ConnectionEventListener extends java.util.EventListener { 52 53 /** 54 * Notifies this <code>ConnectionEventListener</code> that 55 * the application has called the method <code>close</code> on its 56 * representation of a pooled connection. 57 * 58 * @param event an event object describing the source of 59 * the event 60 */ connectionClosed(ConnectionEvent event)61 void connectionClosed(ConnectionEvent event); 62 63 /** 64 * Notifies this <code>ConnectionEventListener</code> that 65 * a fatal error has occurred and the pooled connection can 66 * no longer be used. The driver makes this notification just 67 * before it throws the application the <code>SQLException</code> 68 * contained in the given <code>ConnectionEvent</code> object. 69 * 70 * @param event an event object describing the source of 71 * the event and containing the <code>SQLException</code> that the 72 * driver is about to throw 73 */ connectionErrorOccurred(ConnectionEvent event)74 void connectionErrorOccurred(ConnectionEvent event); 75 76 } 77