org.mentawai.db
Class JNDIConnectionHandler

java.lang.Object
  extended by org.mentawai.db.AbstractConnectionHandler
      extended by org.mentawai.db.JNDIConnectionHandler
All Implemented Interfaces:
org.mentacontainer.Factory, org.mentacontainer.Interceptor<Connection>, ConnectionHandler

public class JNDIConnectionHandler
extends AbstractConnectionHandler

A connection handler that looks for a DataSource in a JNDI context. Use this class if you want to create a connection handler backed up by a DataSource which is bound to a JNDI context.

Author:
Sergio Oliveira

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.mentawai.db.ConnectionHandler
ConnectionHandler.Exec
 
Method Summary
 void destroy()
          Destroy the connection pool, closing and cleaning all connections.
 Object getBean()
           
 Connection getConnection()
          Returns a Connection to the database.
static ConnectionHandler getInstance(String poolname)
          Gets a ConnectionHandler with a DataSource bound to the JNDI context with the given name.
 String getStatus()
          Print the status of this connection pool if any.
 void release(Connection conn)
          Release this connection.
 
Methods inherited from class org.mentawai.db.AbstractConnectionHandler
exec, getInstance, getType, onCleared, onCreated
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getConnection

public Connection getConnection()
                         throws SQLException
Description copied from interface: ConnectionHandler
Returns a Connection to the database. Notice that it can never return null. If no connection can be acquired, then a SQLException is thrown.

Returns:
A connection to the database.
Throws:
SQLException - if there were problems trying to acquire the connection.

getStatus

public String getStatus()
Description copied from interface: ConnectionHandler
Print the status of this connection pool if any.

Returns:
The status

getBean

public Object getBean()
               throws InstantiationException
Throws:
InstantiationException

release

public void release(Connection conn)
Description copied from interface: ConnectionHandler
Release this connection. If this connection handler is using a database pool, the connection is returned to the pool. If this connection handler is not using a database pool, the connection is closed. If the connection passed as an argument is null, nothing is done.

Parameters:
conn - The connection to release.

getInstance

public static ConnectionHandler getInstance(String poolname)
Gets a ConnectionHandler with a DataSource bound to the JNDI context with the given name.

Parameters:
poolname - The name with which the DataSource is bound to the JNDI context.
Returns:
A ConnectionHandler from cache or a new one if this is the first call with this name.

destroy

public void destroy()
Description copied from interface: ConnectionHandler
Destroy the connection pool, closing and cleaning all connections. This is important for restarting the web context.



Copyright © 2013. All Rights Reserved.