Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * OfficeFloor - http://www.officefloor.net
   * Copyright (C) 2005-2013 Daniel Sagenschneider
   *
   * This program is free software: you can redistribute it and/or modify
   * it under the terms of the GNU General Public License as published by
   * the Free Software Foundation, either version 3 of the License, or
   * (at your option) any later version.
   *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 package net.officefloor.plugin.jdbc.connection;
 
 
 
JDBC net.officefloor.frame.spi.managedobject.ManagedObject.

Author(s):
Daniel Sagenschneider
 
 public class JdbcManagedObject implements ManagedObject,
 
 	private final PooledConnection pooledConnection;

 
 	private Connection connection;

Failure of the javax.sql.PooledConnection.
 
 	private SQLException failure = null;

Initiate.

Parameters:
pooledConnection javax.sql.PooledConnection.
 
 	public JdbcManagedObject(PooledConnection pooledConnection) {
 		this. = pooledConnection;
 
 		// Register to listen to the pooled connection
 	}

Recycles.

Throws:
java.sql.SQLException If fails to recycle.
 
 	protected void recycle() throws SQLException {
 		synchronized (this.) {
 
 			// Determine if failure of pooled connection
 			if (this. != null) {
 				// Close the pooled connection
 
 				// Escalate failure
 				throw this.;
 			}
 
 			// Close the connection if created
 			if (this. != null) {
 				this..close();
 				this. = null;
 			}
 		}
 	}
 
 	/*
 	 * ====================== ManagedObject ===============================
 	 */
 
 	public Object getObject() throws Exception {
 
 		// Lazy create the connection
 		synchronized (this.) {
			if (this. == null) {
			}
		}
		// Return the connection
		return this.;
	}
	/*
	 * ======================= ConnectionEventListener ====================
	 */
	public void connectionClosed(ConnectionEvent event) {
		// Flag the connection closed
		synchronized (this.) {
			this. = null;
		}
	}
		// Indicate failure of pooled connection
		synchronized (this.) {
			this. = event.getSQLException();
		}
	}
New to GrepCode? Check out our FAQ X