jrun.sql
Class JRunDataSource

jrun.sql.JRunDataSource
All Implemented Interfaces:
javax.naming.spi.ObjectFactory, javax.naming.Referenceable

public class JRunDataSource
implements javax.naming.Referenceable, javax.naming.spi.ObjectFactory

DataSource implementation. Accesses a JDBCPool, one pool per DataSource, to retrieve connections. It also referees XA activities for all of its Connections.

Author:
PS Neville

Constructor Summary
JRunDataSource()
           
JRunDataSource(java.lang.String poolName, java.lang.String jndiName)
           
 
Method Summary
 void deregisterTransaction(javax.transaction.xa.XAResource xares, javax.transaction.xa.Xid branchXid, int flag)
           
 boolean equals(java.lang.Object o)
          Two DataSources are equal if they connect to the same Resource.
 java.sql.Connection getConnection()
           
 java.sql.Connection getConnection(java.lang.String username, java.lang.String password)
           
static javax.sql.DataSource getDataSource()
          Without requiring its name, get the default DataSource, which is the first one configured in jrun-resources.xml.
static javax.sql.DataSource getDataSource(java.lang.String dbname)
          Get the named DataSource.
 java.lang.String getJNDIName()
           
 int getLoginTimeout()
           
 java.io.PrintWriter getLogWriter()
           
 java.lang.Object getObjectInstance(java.lang.Object obj, javax.naming.Name name, javax.naming.Context nameCtx, java.util.Hashtable env)
           
 javax.sql.PooledConnection getPooledConnection()
           
 javax.sql.PooledConnection getPooledConnection(java.lang.String user, java.lang.String password)
           
 java.lang.String getPoolName()
           
 javax.naming.Reference getReference()
          Return a new Reference object for this DataSource.
 javax.sql.XAConnection getXAConnection()
           
 javax.sql.XAConnection getXAConnection(java.lang.String user, java.lang.String password)
           
 void registerTransaction(javax.transaction.xa.XAResource xares, javax.transaction.xa.Xid branchXid)
           
 void setLoginTimeout(int seconds)
           
 void setLogWriter(java.io.PrintWriter out)
           
 java.lang.String toString()
           
 boolean transactionExists(javax.transaction.xa.Xid xid)
           
 

Constructor Detail

JRunDataSource

public JRunDataSource()

JRunDataSource

public JRunDataSource(java.lang.String poolName,
                      java.lang.String jndiName)
Method Detail

getDataSource

public static javax.sql.DataSource getDataSource()
                                          throws java.sql.SQLException
Without requiring its name, get the default DataSource, which is the first one configured in jrun-resources.xml.

getDataSource

public static javax.sql.DataSource getDataSource(java.lang.String dbname)
                                          throws java.sql.SQLException
Get the named DataSource.

getPoolName

public java.lang.String getPoolName()

getJNDIName

public java.lang.String getJNDIName()

registerTransaction

public void registerTransaction(javax.transaction.xa.XAResource xares,
                                javax.transaction.xa.Xid branchXid)

transactionExists

public boolean transactionExists(javax.transaction.xa.Xid xid)

deregisterTransaction

public void deregisterTransaction(javax.transaction.xa.XAResource xares,
                                  javax.transaction.xa.Xid branchXid,
                                  int flag)

getConnection

public java.sql.Connection getConnection()
                                  throws java.sql.SQLException

getConnection

public java.sql.Connection getConnection(java.lang.String username,
                                         java.lang.String password)
                                  throws java.sql.SQLException

getPooledConnection

public javax.sql.PooledConnection getPooledConnection()
                                               throws java.sql.SQLException

getPooledConnection

public javax.sql.PooledConnection getPooledConnection(java.lang.String user,
                                                      java.lang.String password)
                                               throws java.sql.SQLException

getXAConnection

public javax.sql.XAConnection getXAConnection()
                                       throws java.sql.SQLException

getXAConnection

public javax.sql.XAConnection getXAConnection(java.lang.String user,
                                              java.lang.String password)
                                       throws java.sql.SQLException

setLoginTimeout

public void setLoginTimeout(int seconds)
                     throws java.sql.SQLException

getLoginTimeout

public int getLoginTimeout()
                    throws java.sql.SQLException

setLogWriter

public void setLogWriter(java.io.PrintWriter out)
                  throws java.sql.SQLException

getLogWriter

public java.io.PrintWriter getLogWriter()
                                 throws java.sql.SQLException

equals

public boolean equals(java.lang.Object o)
Two DataSources are equal if they connect to the same Resource. This is determined by asking if the underlying JDBCPools have the same conectivity info.

toString

public java.lang.String toString()

getReference

public javax.naming.Reference getReference()
Return a new Reference object for this DataSource. This DataSource is its own ObjectFactory.
Specified by:
getReference in interface javax.naming.Referenceable

getObjectInstance

public java.lang.Object getObjectInstance(java.lang.Object obj,
                                          javax.naming.Name name,
                                          javax.naming.Context nameCtx,
                                          java.util.Hashtable env)
                                   throws java.lang.Exception
Specified by:
getObjectInstance in interface javax.naming.spi.ObjectFactory


Copyright � 2002 Macromedia Corporation. All Rights Reserved.