blob: 3872549181c99a72d2c36f984d5ec987cf6b6c78 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_06) on Wed Jul 19 14:42:42 EDT 2006 -->
<TITLE>
DBCPDataSourceFactory (Cayenne API Documentation - v.1.2)
</TITLE>
<META NAME="keywords" CONTENT="org.objectstyle.cayenne.conf.DBCPDataSourceFactory class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../objectstyle-javadoc.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="DBCPDataSourceFactory (Cayenne API Documentation - v.1.2)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/objectstyle/cayenne/conf/DataSourceFactory.html" title="interface in org.objectstyle.cayenne.conf"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/objectstyle/cayenne/conf/DefaultConfiguration.html" title="class in org.objectstyle.cayenne.conf"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/objectstyle/cayenne/conf/DBCPDataSourceFactory.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DBCPDataSourceFactory.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.objectstyle.cayenne.conf</FONT>
<BR>
Class DBCPDataSourceFactory</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.objectstyle.cayenne.conf.DBCPDataSourceFactory</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/objectstyle/cayenne/conf/DataSourceFactory.html" title="interface in org.objectstyle.cayenne.conf">DataSourceFactory</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>DBCPDataSourceFactory</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../org/objectstyle/cayenne/conf/DataSourceFactory.html" title="interface in org.objectstyle.cayenne.conf">DataSourceFactory</A></DL>
</PRE>
<P>
An implementation of DataSourceFactory that instantiates a DataSource from Apache
Commons DBCP. Configured via a properties file specified by the location hint in the
modeler and under datasource attribute in cayenne.xml. Note that if location doesn't
have a ".properties" extension, such extension is added automatically. Sample
properties file:
<pre>
#
# This file defines the configuration properties for Commons DBCP pool
# which is used for Cayenne during some of the test cases.
# For more info on setting parameters see the documentation for commons
# dbcp and commons pool. The following prefixes are required:
# cayenne.dbcp.&lt;param&gt; = configure the connection pool
# cayenne.dbcp.ps.&lt;param&gt; = configuration for the prepared connection pools
# that are associated with each pooled connections
#driver class to use to connect to the database
cayenne.dbcp.driverClassName=net.sourceforge.jtds.jdbc.Driver
#url to the database, the parameters should be part of the connection string
#and not here
cayenne.dbcp.url=jdbc:jtds:sqlserver://192.168.20.2:1433/x_test2;TDS=8.0
#username to use to connect to the database
cayenne.dbcp.username=garyj
#password to use to connect to the database
cayenne.dbcp.password=somepass
#maximum number of active connections
cayenne.dbcp.maxActive=500
#minimum number of idle connections
cayenne.dbcp.minIdle=10
#maximum number of active connections that can remain idle in the pool
cayenne.dbcp.maxIdle=10
#maximum number of milliseconds to wait for a connection to be returned to the
#pool before throwing an exception when the connection is required and the pool
#is exhaused of the active connections. -1 for indefinetly
cayenne.dbcp.maxWait=10000
#sql query to be used to validate connections from the pool. Must return
#at least one row
cayenne.dbcp.validationQuery=SELECT GETDATE()
#should the object be validated when it is borrowed from the pool
cayenne.dbcp.testOnBorrow=false
#should the object be validated when it is returned to the pool
cayenne.dbcp.testOnReturn=true
#should the object be validated when it is idle
cayenne.dbcp.testWhileIdle=true
#number of milliseconds to sleep between runs of the idle object evictor thread
cayenne.dbcp.timeBetweenEvictionRunsMillis=120000
#number of objects to examin during each run of the idle object evictor
cayenne.dbcp.numTestsPerEvictionRun=10
#minimum time an object may sit idle in the pool before it is elegible for
#an eviction
cayenne.dbcp.minEvictableIdleTimeMillis=2000000
#action to take the the pool is exhausted of all active connections
#see GenericObjectPool class
#this value can be set as either an int or a String the setter method
#will attempt to convert the String value to it's resective representation
#in the GenericObjectPool class and if successfull will use the byte
#value as the config paramter to the pool. If not the default value will
#be used
cayenne.dbcp.whenExhaustedAction=WHEN_EXHAUSTED_GROW
#The default auto-commit state of connections created by this pool
caynne.dbcp.defaultAutoCommit=false
#Default read only state of connections created by the pool. Can be left
#as null for driver default
cayenne.dbcp.defaultReadOnly=true
# Default TransactionIsolation state of connections created by this pool. This can
# be either a String representation of the isolation level defined in the interface
# java.sql.Connection. Can be left as null for
# driver default
cayenne.dbcp.defaultTransactionIsolation=TRANSACTION_SERIALIZABLE
#If set to true the application will be able to get access to the
#actual connection object which is normally wrapped by a poolable connections
cayenne.dbcp.accessToUnderlyingConnectionAllowed=true
#Default catalog of connections created by this pool
cayenne.dbcp.defaultCatalog=someCat
#Specifies whether prepared statments should be pooled
cayenne.dbcp.poolPreparedStatements=true
#Controlls the maximum number of objects that can be borrowed from the pool at
#one time
cayenne.dbcp.ps.maxActive=500
#Maximum number of idle objects in the pool
cayenne.dbcp.ps.maxIdle=50
#Maximum number of objects that can exist in the prepared statement pool at one time
cayenne.dbcp.ps.maxTotal=600
# Minimum number of milliseconds to wait for an objec the the pool of
# prepared statements is exhausted and the whenExhaustedAction is set to
# 1 (WHEN_EXHAUSTED_BLOCK)
cayenne.dbcp.ps.maxWait=10000
# Number of milliseconds an object can sit idle in the pool before it is
# elegible for eviction
cayenne.dbcp.ps.minEvictableIdleTimeMillis=2000000
#Number of idle objects that should be examined per eviction run
cayenne.dbcp.ps.numTestsPerEvictionRun=20
#Specifies whether objects should be validated before they are borrowed from this pool
cayenne.dbcp.ps.testOnBorrow=false
#Specifies whether objects should be validated when they are returned to the pool
cayenne.dbcp.ps.testOnReturn=true
#Specifies whether objects should be validated in the idle eviction thread
cayenne.dbcp.ps.testWhileIdle=true
#Specifies the time between the runs of the eviction thread
cayenne.dbcp.ps.timeBetweenEvictionRunsMillis=120000
# action to take when the the pool is exhausted of all active objects.
# acceptable values are strings (WHEN_EXHAUSTED_FAIL, WHEN_EXHAUSTED_BLOCK (default),
# WHEN_EXHAUSTED_GROW), or their corresponding int values defined in commons-pool GenericObjectPool:
cayenne.dbcp.ps.whenExhaustedAction=WHEN_EXHAUSTED_FAIL
</pre>
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>1.2</DD>
<DT><B>Author:</B></DT>
<DD>Gary Jarrel</DD>
</DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/objectstyle/cayenne/conf/Configuration.html" title="class in org.objectstyle.cayenne.conf">Configuration</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/conf/DBCPDataSourceFactory.html#parentConfiguration">parentConfiguration</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/conf/DBCPDataSourceFactory.html#PROPERTY_PREFIX">PROPERTY_PREFIX</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;All the properties in the configuration properties file should be prefixed with
this prefix, namely cayenne.dbcp.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/conf/DBCPDataSourceFactory.html#PS_PROPERTY_PREFIX">PS_PROPERTY_PREFIX</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The the properties in the configuration file, related to Prepared Statement pooling
and used to configure <code>KeyedObjectPoolFactory</code> are followed by this
prefix.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/conf/DBCPDataSourceFactory.html#DBCPDataSourceFactory()">DBCPDataSourceFactory</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;javax.sql.DataSource</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/conf/DBCPDataSourceFactory.html#getDataSource(java.lang.String)">getDataSource</A></B>(java.lang.String&nbsp;location)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a DBCP <code>PoolingDataSource</code></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;javax.sql.DataSource</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/conf/DBCPDataSourceFactory.html#getDataSource(java.lang.String, org.apache.log4j.Level)">getDataSource</A></B>(java.lang.String&nbsp;location,
org.apache.log4j.Level&nbsp;logLevel)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>since 1.2</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/objectstyle/cayenne/conf/DBCPDataSourceFactory.html#initializeWithParentConfiguration(org.objectstyle.cayenne.conf.Configuration)">initializeWithParentConfiguration</A></B>(<A HREF="../../../../org/objectstyle/cayenne/conf/Configuration.html" title="class in org.objectstyle.cayenne.conf">Configuration</A>&nbsp;parentConfiguration)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes factory with the parent configuration object.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="PROPERTY_PREFIX"><!-- --></A><H3>
PROPERTY_PREFIX</H3>
<PRE>
public static final java.lang.String <B>PROPERTY_PREFIX</B></PRE>
<DL>
<DD>All the properties in the configuration properties file should be prefixed with
this prefix, namely cayenne.dbcp. The config parameter as set out in commons dbcp
configuration should follow this prefix.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.objectstyle.cayenne.conf.DBCPDataSourceFactory.PROPERTY_PREFIX">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="PS_PROPERTY_PREFIX"><!-- --></A><H3>
PS_PROPERTY_PREFIX</H3>
<PRE>
public static final java.lang.String <B>PS_PROPERTY_PREFIX</B></PRE>
<DL>
<DD>The the properties in the configuration file, related to Prepared Statement pooling
and used to configure <code>KeyedObjectPoolFactory</code> are followed by this
prefix. This constants is set to PROPERTY_PREFIX + ps.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.objectstyle.cayenne.conf.DBCPDataSourceFactory.PS_PROPERTY_PREFIX">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="parentConfiguration"><!-- --></A><H3>
parentConfiguration</H3>
<PRE>
protected <A HREF="../../../../org/objectstyle/cayenne/conf/Configuration.html" title="class in org.objectstyle.cayenne.conf">Configuration</A> <B>parentConfiguration</B></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="DBCPDataSourceFactory()"><!-- --></A><H3>
DBCPDataSourceFactory</H3>
<PRE>
public <B>DBCPDataSourceFactory</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="initializeWithParentConfiguration(org.objectstyle.cayenne.conf.Configuration)"><!-- --></A><H3>
initializeWithParentConfiguration</H3>
<PRE>
public void <B>initializeWithParentConfiguration</B>(<A HREF="../../../../org/objectstyle/cayenne/conf/Configuration.html" title="class in org.objectstyle.cayenne.conf">Configuration</A>&nbsp;parentConfiguration)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/objectstyle/cayenne/conf/DataSourceFactory.html#initializeWithParentConfiguration(org.objectstyle.cayenne.conf.Configuration)">DataSourceFactory</A></CODE></B></DD>
<DD>Initializes factory with the parent configuration object.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/objectstyle/cayenne/conf/DataSourceFactory.html#initializeWithParentConfiguration(org.objectstyle.cayenne.conf.Configuration)">initializeWithParentConfiguration</A></CODE> in interface <CODE><A HREF="../../../../org/objectstyle/cayenne/conf/DataSourceFactory.html" title="interface in org.objectstyle.cayenne.conf">DataSourceFactory</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getDataSource(java.lang.String, org.apache.log4j.Level)"><!-- --></A><H3>
getDataSource</H3>
<PRE>
public javax.sql.DataSource <B>getDataSource</B>(java.lang.String&nbsp;location,
org.apache.log4j.Level&nbsp;logLevel)
throws java.lang.Exception</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>since 1.2</I>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/objectstyle/cayenne/conf/DataSourceFactory.html#getDataSource(java.lang.String, org.apache.log4j.Level)">getDataSource</A></CODE> in interface <CODE><A HREF="../../../../org/objectstyle/cayenne/conf/DataSourceFactory.html" title="interface in org.objectstyle.cayenne.conf">DataSourceFactory</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getDataSource(java.lang.String)"><!-- --></A><H3>
getDataSource</H3>
<PRE>
public javax.sql.DataSource <B>getDataSource</B>(java.lang.String&nbsp;location)
throws java.lang.Exception</PRE>
<DL>
<DD>Creates a DBCP <code>PoolingDataSource</code>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/objectstyle/cayenne/conf/DataSourceFactory.html#getDataSource(java.lang.String)">getDataSource</A></CODE> in interface <CODE><A HREF="../../../../org/objectstyle/cayenne/conf/DataSourceFactory.html" title="interface in org.objectstyle.cayenne.conf">DataSourceFactory</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD><code>DataSource</code> which is an instance of
<code>PoolingDataSource</code>
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/objectstyle/cayenne/conf/DataSourceFactory.html" title="interface in org.objectstyle.cayenne.conf"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/objectstyle/cayenne/conf/DefaultConfiguration.html" title="class in org.objectstyle.cayenne.conf"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/objectstyle/cayenne/conf/DBCPDataSourceFactory.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DBCPDataSourceFactory.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<!--@SFLOGO@--> &nbsp; <i>Copyright &#169; 2001-2006 <a href=
"http://objectstyle.org" target="_top">ObjectStyle.org</a> All Rights Reserved.</i>
</BODY>
</HTML>