📄 jdbc.html
字号:
“编辑 JDBC 连接池”页面使您可以更改现有池的所有设置(池的名称除外)。 </p><a name="wp92791"> </a><p class="pParagraph">要访问“编辑 JDBC 连接池”页面,请执行以下步骤:</p><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp92793"> </a><div class="pSmartList1"><li>在树组件中,展开“资源”节点。</li></div><a name="wp92795"> </a><div class="pSmartList1"><li>在“资源”节点下,展开“JDBC”节点。</li></div><a name="wp92797"> </a><div class="pSmartList1"><li>在“JDBC”节点下,展开“连接池”节点。</li></div><a name="wp92799"> </a><div class="pSmartList1"><li>选择要编辑的池的节点。</li></div><a name="wp92801"> </a><div class="pSmartList1"><li>在“编辑 JDBC 连接池”页面中进行必要的更改。</li></div><a name="wp92803"> </a><p class="pStepParaI1">有关可以更改的设置的说明,请参见以下各个部分。</p><a name="wp92805"> </a><div class="pSmartList1"><li>单击“保存”。</li></div></ol></div><a name="wp92809"> </a><h4 class="pHeading3">常规设置</h4><a name="wp92811"> </a><p class="pParagraph">常规设置的值取决于安装的特定 JDBC 驱动程序。这些设置是 Java 编程语言中的类名或接口名称。</p><a name="wp92814"> </a><p class="pAnchor"></p><div align="left"><table border="1" cellpadding="5" cellspacing="0" id="wp91926"> <caption><a name="wp91926"> </a><p class="pCaption">表 6-1 JDBC 连接池的常规设置</p></caption> <tr bgcolor="#cdccee" align="left" valign="top"> <th scope="col"><a name="wp91932"> </a><p class="pTableHead">参数</p></th> <th scope="col"><a name="wp91934"> </a><p class="pTableHead">说明</p></th></tr> <tr align="left" valign="top"> <td><a name="wp91940"> </a><p class="pTableText"><nobr>DataSource 类名</nobr></p></td> <td><a name="wp91942"> </a><p class="pTableText">实现 DataSource/ConnectionPoolDataSource/XADataSource API 的特定于供应商的类名。该类位于 JDBC 驱动程序中。</p></td></tr> <tr align="left" valign="top"> <td><a name="wp91948"> </a><p class="pTableText">资源类型</p></td> <td><a name="wp91950"> </a><p class="pTableText">选项包括 javax.sql.DataSource(仅限于本地事务)、javax.sql.XADataSource(全局事务)和 java.sql.ConnectionPoolDataSource(本地事务,性能可能会提高)。</p></td></tr></table></div><p class="pAnchor"></p><a name="wp92818"> </a><h4 class="pHeading3">池设置</h4><a name="wp92820"> </a><p class="pParagraph">一组物理数据库连接保存在池中。应用程序请求连接时,将从池中删除该连接;而应用程序释放该连接之后,连接将返回到池中。</p><a name="wp92823"> </a><p class="pAnchor"></p><div align="left"><table border="1" cellpadding="5" cellspacing="0" id="wp91956"> <caption><a name="wp91956"> </a><p class="pCaption">表 6-2 JDBC 连接池的池设置</p></caption> <tr bgcolor="#cdccee" align="left" valign="top"> <th scope="col"><a name="wp91962"> </a><p class="pTableHead">参数</p></th> <th scope="col"><a name="wp91964"> </a><p class="pTableHead">说明</p></th></tr> <tr align="left" valign="top"> <td><a name="wp91970"> </a><p class="pTableText"><nobr>初始和最小池大小</nobr></p></td> <td><a name="wp91972"> </a><p class="pTableText">池中连接的最小数目。该值还确定了首次创建池或应用程序服务器启动时被置于池中的连接的数目。</p></td></tr> <tr align="left" valign="top"> <td><a name="wp91978"> </a><p class="pTableText">最大池大小</p></td> <td><a name="wp91980"> </a><p class="pTableText">池中连接的最大数目。</p></td></tr> <tr align="left" valign="top"> <td><a name="wp91986"> </a><p class="pTableText">池大小调整数量</p></td> <td><a name="wp91988"> </a><p class="pTableText">当池向最小池大小方向收缩时,将成批调整大小。此值确定批处理中的连接数目。如果将该值设置得过大,会延迟连接回收;如果将该值设置得过小,则会降低效率。 </p></td></tr> <tr align="left" valign="top"> <td><a name="wp91994"> </a><p class="pTableText">空闲超时</p></td> <td><a name="wp91996"> </a><p class="pTableText">连接在池中保持空闲的最长时间(以秒为单位)。一旦超过此时间,即从池中删除该连接。 </p></td></tr> <tr align="left" valign="top"> <td><a name="wp92002"> </a><p class="pTableText">最长等待时间</p></td> <td><a name="wp92004"> </a><p class="pTableText">在达到连接超时之前,请求连接的应用程序所等待的时间。由于默认等待时间过长,应用程序可能会出现无限期挂起的情况。</p></td></tr></table></div><p class="pAnchor"></p><a name="wp92827"> </a><h4 class="pHeading3">连接验证</h4><a name="wp92829"> </a><p class="pParagraph">(可选)应用程序服务器可以在将连接传送给应用程序之前验证连接。如果由于网络出现故障或数据库服务器崩溃造成数据库不可用,此验证将允许应用程序服务器自动重新建立数据库连接。连接验证会带来额外开销,并会导致性能稍有下降。</p><a name="wp92832"> </a><p class="pAnchor"></p><div align="left"><table border="1" cellpadding="5" cellspacing="0" id="wp92010"> <caption><a name="wp92010"> </a><p class="pCaption">表 6-3 JDBC 连接池的连接验证设置</p></caption> <tr bgcolor="#cdccee" align="left" valign="top"> <th scope="col"><a name="wp92016"> </a><p class="pTableHead">参数</p></th> <th scope="col"><a name="wp92018"> </a><p class="pTableHead">说明</p></th></tr> <tr align="left" valign="top"> <td><a name="wp92024"> </a><p class="pTableText"><nobr>连接验证</nobr></p></td> <td><a name="wp92026"> </a><p class="pTableText">选中“需要”复选框以启用连接验证。</p></td></tr> <tr align="left" valign="top"> <td><a name="wp92032"> </a><p class="pTableText">验证方法</p></td> <td><a name="wp92034"> </a><p class="pTableText">应用程序服务器可以使用三种方法来验证数据库连接:自动提交、元数据和表。</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp92036"> </a><div class="pSmartList1"><li>自动提交和元数据——应用程序服务器通过调用 con.getAutoCommit() 方法和 con.getMetaData() 方法来验证连接。但是,由于许多 JDBC 驱动程序高速缓存了这些调用的结果,因此这两种方法无法始终提供可靠的验证。请与驱动程序供应商进行核实,以确定这些调用是否被高速缓存。 </li></div><a name="wp92038"> </a><div class="pSmartList1"><li>表应用程序将查询指定的数据库表。表必须存在并且可以访问,但不要求表的行数。请不要使用包含许多行的现有表或经常访问的表。</li></div></ul></div></td></tr> <tr align="left" valign="top"> <td><a name="wp92044"> </a><p class="pTableText">表的名称</p></td> <td><a name="wp92046"> </a><p class="pTableText">如果从“验证方法”组合框中选择了表,请在此指定数据库表的名称。 </p></td></tr> <tr align="left" valign="top"> <td><a name="wp92052"> </a><p class="pTableText">一旦失败</p></td> <td><a name="wp92054"> </a><p class="pTableText">如果选中标有“关闭所有连接”的复选框,则单个连接失败时,应用程序服务器将关闭池中的所有连接,然后重新建立这些连接。如果未选中此复选框,则仅当要使用各个连接时才会重新建立连接。</p></td></tr></table></div><p class="pAnchor"></p><a name="wp92836"> </a><h4 class="pHeading3">事务隔离</h4><a name="wp92838"> </a><p class="pParagraph">由于许多用户通常可以并行访问一个数据库,因此可能出现一个事务在更新数据而另一个事务尝试读取同一数据的情况。事务的隔离级别定义了正在更新的数据对于其他事务的可见程度。有关隔离级别的详细资料,请参见数据库供应商的文档。 </p><a name="wp92841"> </a><p class="pAnchor"></p><div align="left"><table border="1" cellpadding="5" cellspacing="0" id="wp92060"> <caption><a name="wp92060"> </a><p class="pCaption">表 6-4 JDBC 连接池的事务隔离设置</p></caption> <tr bgcolor="#cdccee" align="left" valign="top"> <th scope="col"><a name="wp92066"> </a><p class="pTableHead">参数</p></th> <th scope="col"><a name="wp92068"> </a><p class="pTableHead">说明</p></th></tr> <tr align="left" valign="top"> <td><a name="wp92074"> </a><p class="pTableText">事务隔离</p></td> <td><a name="wp92076"> </a><p class="pTableText">使您可以为该池的连接选择事务隔离级别。如果不指定此参数,连接将使用 JDBC 驱动程序提供的默认隔离级别进行操作。 </p></td></tr> <tr align="left" valign="top"> <td><a name="wp92082"> </a><p class="pTableText"><nobr>保证隔离级别</nobr></p></td> <td><a name="wp92084"> </a><p class="pTableText">该项仅在指定了隔离级别的情况下才适用。如果选中“保证”复选框,则从池中获取的所有连接都具有相同的隔离级别。例如,如果上次使用连接时通过编程方式(使用 con.setTransactionIsolation)更改了连接的隔离级别,此机制会将状态更改回指定的隔离级别。</p></td></tr></table></div><p class="pAnchor"></p><a name="wp92845"> </a><h4 class="pHeading3">属性
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -