<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>DataSourceDefinition</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="DataSourceDefinition";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../jakarta/annotation/sql/DataSourceDefinitions.html" title="annotation in jakarta.annotation.sql"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?jakarta/annotation/sql/DataSourceDefinition.html" target="_top">Frames</a></li>
<li><a href="DataSourceDefinition.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.required.element.summary">Required</a>&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">jakarta.annotation.sql</div>
<h2 title="Annotation Type DataSourceDefinition" class="title">Annotation Type DataSourceDefinition</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@Target(value=TYPE)
 @Retention(value=RUNTIME)
 @Repeatable(value=<a href="../../../jakarta/annotation/sql/DataSourceDefinitions.html" title="annotation in jakarta.annotation.sql">DataSourceDefinitions.class</a>)
public @interface <span class="memberNameLabel">DataSourceDefinition</span></pre>
<div class="block">Annotation used to define a container <code>DataSource</code> to
 be registered with JNDI. The <code>DataSource</code> may be configured by
 setting the annotation elements for commonly used <code>DataSource</code>
 properties.  Additional standard and vendor-specific properties may be
 specified using the <code>properties</code> element.
 <p>

 The data source will be registered under the name specified in the
 <code>name</code> element. It may be defined to be in any valid
 Jakarta EE namespace, which will determine the accessibility of
 the data source from other components.
 <p>
 A JDBC driver implementation class of the appropriate type, either
 <code>DataSource</code>, <code>ConnectionPoolDataSource</code>, or
 <code>XADataSource</code>, must be indicated by the <code>className</code>
 element. The availability of the driver class will be assumed at runtime.
<p>
 DataSource properties should not be specified more than once. If
 the url annotation element contains a DataSource property that was also
 specified using the corresponding annotation element or was specified in
 the properties annotation element, the precedence order is undefined
 and implementation specific:
 <p>
 <pre>
   &#064;DataSourceDefinition(name="java:global/MyApp/MyDataSource",
      className="org.apache.derby.jdbc.ClientDataSource",
      url="jdbc:derby://localhost:1527/myDB;user=bill",
      user="lance",
      password="secret",
      databaseName="testDB",
      serverName="luckydog"
   )// DO NOT DO THIS!!!
 </pre>
 <p>
 In the above example, the <code>databaseName</code>, <code>user</code>
 and <code>serverName</code> properties were specified as part of the
 <code>url</code> property and using the corresponding
 annotation elements. This should be avoided.
 <p>
 If the <code>properties</code> annotation element is used and contains a
 DataSource property that was also specified using the corresponding
 annotation element, the annotation element value takes precedence.
 For example:
 <p>
 <pre>
   &#064;DataSourceDefinition(name="java:global/MyApp/MyDataSource",
      className="org.apache.derby.jdbc.ClientDataSource",
      user="lance",
      password="secret",
      databaseName="testDB",
      serverName="luckydog",
       properties= {"databaseName=myDB", "databaseProp=doThis"}
   )// DO NOT DO THIS!!!
 </pre>
 <p>
 This would result in the following values being used when configuring
 the DataSource:
 <ul>
 <li>serverName=luckydog</li>
 <li>portNumber=1527</li>
 <li>databaseName=testDB</li>
 <li>user=lance</li>
 <li>password=secret</li>
 <li>databaseProp=doThis</li>
 </ul>
 <p>
 Vendors are not required to support properties that do not normally
 apply to a specific data source type. For example, specifying the
 <code>transactional</code> property to be <code>true</code> but supplying
 a value for <code>className</code> that implements a data source class
 other than <code>XADataSource</code> may not be supported.
 <p>
 Vendor-specific properties may be combined with or used to
  override standard data source properties defined using this annotation.
 <p>
 <code>DataSource</code> properties that are specified and are not supported
 in a given configuration or cannot be mapped to a vendor specific
 configuration property may be ignored.
 <p>
 Examples:
 <br>
  <pre>
   &#064;DataSourceDefinition(name="java:global/MyApp/MyDataSource",
      className="com.foobar.MyDataSource",
      portNumber=6689,
      serverName="myserver.com",
      user="lance",
      password="secret"
   )

 </pre>
 <p>
 Using a <code>URL</code>:
 <br>
 <pre>
  &#064;DataSourceDefinition(name="java:global/MyApp/MyDataSource",
    className="org.apache.derby.jdbc.ClientDataSource",
    url="jdbc:derby://localhost:1527/myDB",
    user="lance",
    password="secret"
 )
 </pre>
 <p>
 An example lookup of the DataSource from an EJB:
 <pre>
 &#064;Stateless
 public class MyStatelessEJB {
   &#064;Resource(lookup="java:global/MyApp/myDataSource")
    DataSource myDB;
      ...
 }
 </pre>
 <p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Common Annotations 1.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>DataSource</code>, 
<code>XADataSource</code>, 
<code>ConnectionPoolDataSource</code></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.required.element.summary">
<!--   -->
</a>
<h3>Required Element Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Required Element Summary table, listing required elements, and an explanation">
<caption><span>Required Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Required Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#className--">className</a></span></code>
<div class="block">Name of a DataSource class that implements
  <code>javax.sql.DataSource</code> or <code>javax.sql.XADataSource</code>
 or <code>javax.sql.ConnectionPoolDataSource</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#name--">name</a></span></code>
<div class="block">JNDI name by which the data source will be registered.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.optional.element.summary">
<!--   -->
</a>
<h3>Optional Element Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#databaseName--">databaseName</a></span></code>
<div class="block">Name of a database on a server.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#description--">description</a></span></code>
<div class="block">Description of this data source</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#initialPoolSize--">initialPoolSize</a></span></code>
<div class="block">Number of connections that should be created when a connection pool
 is initialized.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#isolationLevel--">isolationLevel</a></span></code>
<div class="block">Isolation level for connections.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#loginTimeout--">loginTimeout</a></span></code>
<div class="block">Sets the maximum time in seconds that this data source will wait while
 attempting to connect to a database.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#maxIdleTime--">maxIdleTime</a></span></code>
<div class="block">The number of seconds that a physical connection
 should remain unused in the pool before the
 connection is closed for a connection pool.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#maxPoolSize--">maxPoolSize</a></span></code>
<div class="block">Maximum number of connections that should be concurrently allocated for a
 connection pool.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#maxStatements--">maxStatements</a></span></code>
<div class="block">The total number of statements that a connection pool should keep open.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#minPoolSize--">minPoolSize</a></span></code>
<div class="block">Minimum number of connections that should be allocated for a
 connection pool.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#password--">password</a></span></code>
<div class="block">Password to use for connection authentication.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#portNumber--">portNumber</a></span></code>
<div class="block">Port number where a server is listening for requests.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#properties--">properties</a></span></code>
<div class="block">Used to specify vendor-specific properties and less commonly
 used <code>DataSource</code> properties such as:</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#serverName--">serverName</a></span></code>
<div class="block">Database server name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#transactional--">transactional</a></span></code>
<div class="block">Set to <code>false</code> if connections should not participate
 in transactions.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#url--">url</a></span></code>
<div class="block">A JDBC URL.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/annotation/sql/DataSourceDefinition.html#user--">user</a></span></code>
<div class="block">User name to use for connection authentication.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.element.detail">
<!--   -->
</a>
<h3>Element Detail</h3>
<a name="name--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>name</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;name</pre>
<div class="block">JNDI name by which the data source will be registered.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="className--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>className</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;className</pre>
<div class="block">Name of a DataSource class that implements
  <code>javax.sql.DataSource</code> or <code>javax.sql.XADataSource</code>
 or <code>javax.sql.ConnectionPoolDataSource</code>.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="description--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>description</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;description</pre>
<div class="block">Description of this data source</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="url--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>url</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;url</pre>
<div class="block">A JDBC URL.  If the <code>url</code>  annotation element contains a
 DataSource property that was also specified using the corresponding
 annotation element, the precedence order is undefined and
 implementation specific.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="user--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>user</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;user</pre>
<div class="block">User name to use for connection authentication.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="password--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>password</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;password</pre>
<div class="block">Password to use for connection authentication.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="databaseName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>databaseName</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;databaseName</pre>
<div class="block">Name of a database on a server.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="portNumber--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>portNumber</h4>
<pre>public abstract&nbsp;int&nbsp;portNumber</pre>
<div class="block">Port number where a server is listening for requests.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>-1</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="serverName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serverName</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;serverName</pre>
<div class="block">Database server name.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>"localhost"</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="isolationLevel--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isolationLevel</h4>
<pre>public abstract&nbsp;int&nbsp;isolationLevel</pre>
<div class="block">Isolation level for connections. The Isolation level
 must be one of the following:
 <p>
 <ul>
 <li>Connection.TRANSACTION_NONE,
 <li>Connection.TRANSACTION_READ_ UNCOMMITTED,
 <li>Connection.TRANSACTION_READ_COMMITTED,
 <li>Connection.TRANSACTION_REPEATABLE_READ,
 <li>Connection.TRANSACTION_SERIALIZABLE
</ul>
 <p>
 Default is vendor-specific.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>-1</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="transactional--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transactional</h4>
<pre>public abstract&nbsp;boolean&nbsp;transactional</pre>
<div class="block">Set to <code>false</code> if connections should not participate
 in transactions.
 <p>
 Default is to enlist in a transaction when one is active or becomes
 active.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>true</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="initialPoolSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialPoolSize</h4>
<pre>public abstract&nbsp;int&nbsp;initialPoolSize</pre>
<div class="block">Number of connections that should be created when a connection pool
 is initialized.
 <p>
 Default is vendor-specific</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>-1</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="maxPoolSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxPoolSize</h4>
<pre>public abstract&nbsp;int&nbsp;maxPoolSize</pre>
<div class="block">Maximum number of connections that should be concurrently allocated for a
 connection pool.
 <p>
 Default is vendor-specific.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>-1</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="minPoolSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>minPoolSize</h4>
<pre>public abstract&nbsp;int&nbsp;minPoolSize</pre>
<div class="block">Minimum number of connections that should be allocated for a
 connection pool.
 <p>
 Default is vendor-specific.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>-1</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="maxIdleTime--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxIdleTime</h4>
<pre>public abstract&nbsp;int&nbsp;maxIdleTime</pre>
<div class="block">The number of seconds that a physical connection
 should remain unused in the pool before the
 connection is closed for a connection pool.
 <p>
 Default is vendor-specific</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>-1</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="maxStatements--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxStatements</h4>
<pre>public abstract&nbsp;int&nbsp;maxStatements</pre>
<div class="block">The total number of statements that a connection pool should keep open.
 A value of 0 indicates that the caching of statements is disabled for
 a connection pool.
 <p>
 Default is vendor-specific</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>-1</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="properties--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>properties</h4>
<pre>public abstract&nbsp;java.lang.String[]&nbsp;properties</pre>
<div class="block">Used to specify vendor-specific properties and less commonly
 used <code>DataSource</code> properties such as:
 <p>
 <ul>
 <li>dataSourceName
 <li>networkProtocol
 <li>propertyCycle
 <li>roleName
 </ul>
 <p>
  Properties are specified using the format:
  <i>propertyName=propertyValue</i>  with one property per array element.
 <p>
 If a DataSource property is specified in the <code>properties</code>
 element and the annotation element for the  property is also
 specified, the annotation element value takes precedence.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="loginTimeout--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>loginTimeout</h4>
<pre>public abstract&nbsp;int&nbsp;loginTimeout</pre>
<div class="block">Sets the maximum time in seconds that this data source will wait while
 attempting to connect to a database. A value of zero specifies that
 the timeout is the default system timeout if there is one; otherwise,
 it specifies that there is no timeout.
 <p>
 Default is vendor-specific.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.1</dd>
</dl>
<dl>
<dt>Default:</dt>
<dd>0</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../jakarta/annotation/sql/DataSourceDefinitions.html" title="annotation in jakarta.annotation.sql"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?jakarta/annotation/sql/DataSourceDefinition.html" target="_top">Frames</a></li>
<li><a href="DataSourceDefinition.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.required.element.summary">Required</a>&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
