Websphere Application Server 6.1连接池问题 - 当AS无法获得连接时会发生什么

时间:2009-07-22 20:50:15

标签: connection-pooling application-server

我已经为Websphere Application Server Express v6.1研究了Websphere文档“连接生命周期”,并在网上搜索了以下内容的答案。

连接池状态

  1. 选择预测试现有池连接 - 重试间隔为零秒
  2. 选择预测试新连接 - 重试次数为零,重试间隔为0
  3. 预测试SQL字符串是“从双”
  4. 中选择'Hello'

    如果预测试失败并且

    会发生什么
    1. 没有连接 inFreePool或InUse状态?
    2. inFreePool状态中有连接?
    3. 我指的是“数据源> data_source > Websphere Application Server数据源”中的设置

1 个答案:

答案 0 :(得分:0)

应用程序调用getConnection

      
  1.      如果在freePool中存在连接,则使用pretest SQL string测试它         如果通过测试,则递交给申请。
    1. 如果测试失败,则根据清除策略清除池。
           
      1. 如果清除策略是 EntirePool ,则清除整个空闲池并获取并测试新连接。
      2.     
      3. 如果清除策略 failingConnectionOnly ,则丢弃失败的连接,并从池中获取另一个连接并进行测试。
      4.     
      5. 如果池中没有连接,则会创建并测试新连接。如果新连接失败,则抛出异常(Type?)。

    2.   
    3. 如果空闲池中没有连接,则创建新连接,测试并在通过测试时将其传递给应用程序。如果新连接失败,则抛出异常。