| ManagedConnectionPool.java |
/*
* JBoss, the OpenSource J2EE webOS
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*
*/
package org.jboss.resource.connectionmanager;
import javax.resource.ResourceException;
import javax.resource.spi.ConnectionRequestInfo;
import javax.resource.spi.ManagedConnectionFactory;
import javax.security.auth.Subject;
import javax.transaction.Transaction;
/**
* A managed connection pool
*
* @author <a href="mailto:d_jencks@users.sourceforge.net">David Jencks</a>
* @version $Revision: 1.9 $
*/
public interface ManagedConnectionPool
{
/**
* Retrieve the managed connection factory for this pool
*
* @return the managed connection factory
*/
ManagedConnectionFactory getManagedConnectionFactory();
/**
* Set the connection listener factory
*
* @param clf the connection event listener factory
*/
void setConnectionListenerFactory(ConnectionListenerFactory clf);
/**
* Get a connection
*
* @param transaction the connection for the transaction
* @param subject the subject for connection
* @param cri the connection request information
* @return a connection event listener wrapping the connection
* @throws ResourceException for any error
*/
ConnectionListener getConnection(Transaction tx, Subject subject, ConnectionRequestInfo cri)
throws ResourceException;
/**
* Return a connection
*
* @param cl the connection event listener wrapping the connection
* @param kill whether to destroy the managed connection
* @throws ResourceException for any error
*/
void returnConnection(ConnectionListener cl, boolean kill)
throws ResourceException;
/**
* @return the connection count
*/
int getConnectionCount ();
/**
* @return the connections in use count
*/
int getInUseConnectionCount();
/**
* @return the connections created count
*/
int getConnectionCreatedCount();
/**
* @return the connections destroyed count
*/
int getConnectionDestroyedCount();
/**
* shutdown the pool
*/
void shutdown();
/**
* @return the available connections
*/
long getAvailableConnectionCount();
/**
* @return the available connections
*/
int getMaxConnectionsInUseCount();
/**
* flush the pool
*/
void flush();
}
| ManagedConnectionPool.java |