Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么连接没有超时?_Java_Jdbc_Websphere_Connection Pooling_Jtds - Fatal编程技术网

Java 为什么连接没有超时?

Java 为什么连接没有超时?,java,jdbc,websphere,connection-pooling,jtds,Java,Jdbc,Websphere,Connection Pooling,Jtds,使用SQLServer2008数据库在WebSphereApplicationServer7上运行我的应用程序。当SQLServer处于100%时,每个连接都会挂起并填满连接池。这就导致了每一根线都被悬挂着。10分钟后,日志将充满以下内容: 00000042 ThreadMonitor W WSVR0605W: Thread "WebContainer : 11" (00000049) has been active for 742352 milliseconds and may be hu

使用SQLServer2008数据库在WebSphereApplicationServer7上运行我的应用程序。当SQLServer处于100%时,每个连接都会挂起并填满连接池。这就导致了每一根线都被悬挂着。10分钟后,日志将充满以下内容:

00000042 ThreadMonitor W   WSVR0605W: Thread "WebContainer : 11" (00000049) has been active for 742352 milliseconds and may be hung.  There is/are 14 thread(s) in total in the server that may be hung.
连接池正在使用JTDS,超时设置为300秒


我会按,在300秒后,每个连接都会抛出一个异常,然后使所有线程取消挂起?

为什么连接在300秒后会抛出一个异常?。如果连接对象正在使用中,它将继续处于活动状态


是否还要指定您所引用的确切超时属性

为什么连接会在300秒后引发异常?。如果连接对象正在使用中,它将继续处于活动状态


是否还要指定您所引用的确切超时属性

以下是对以下各项的定义:

此值表示连接请求发出的秒数 在空闲池中没有可用连接且没有可用连接时等待 可以创建新的连接。这通常是因为 特定连接池中连接的最大值为 已联系到

例如,如果连接超时设置为300,则最大 连接数都在使用中,池管理器等待300 物理连接可用的秒数。如果是体检 连接在此时间内不可用,池管理器 启动ConnectionWaitTimeout异常

因此,它不会使“所有线程都挂起”,它只会在300秒后告诉您池中没有可用连接,因此它不能给您一个


调用控制事务可以保持活动状态多长时间的参数,然后将事务标记为回滚。但是,即使这个超时也不会取消使用连接的线程,它只是将其标记为仅回滚。为了释放连接,您必须使用第三方工具(ITCAM可以取消服务器中的任何线程),或者从数据库端终止/删除连接。

以下是以下定义:

此值表示连接请求发出的秒数 在空闲池中没有可用连接且没有可用连接时等待 可以创建新的连接。这通常是因为 特定连接池中连接的最大值为 已联系到

例如,如果连接超时设置为300,则最大 连接数都在使用中,池管理器等待300 物理连接可用的秒数。如果是体检 连接在此时间内不可用,池管理器 启动ConnectionWaitTimeout异常

因此,它不会使“所有线程都挂起”,它只会在300秒后告诉您池中没有可用连接,因此它不能给您一个


调用控制事务可以保持活动状态多长时间的参数,然后将事务标记为回滚。但是,即使这个超时也不会取消使用连接的线程,它只是将其标记为仅回滚。为了释放连接,您必须使用第三方工具(ITCAM可以取消服务器中的任何线程),或者从数据库端终止/删除连接。

这称为“连接超时”,这是它的文档:指定连接请求保持活动的秒数,在此之后,WebSphereApplicationServer发出ConnectionWaitTimeout异常。仅当您设置了最大池大小属性时,应用程序服务器才会对该值进行操作。该属性称为“连接超时”,这是它的文档:指定连接请求保持活动状态的秒数,之后WebSphere application server会发出ConnectionWaitTimeout异常。只有在设置了最大池大小属性时,应用程序服务器才会对该值进行操作。正如Kurtcebe所说,超时是新请求等待池连接的时间。如果您的连接池已满,并且新线程需要数据库连接,服务器将等待300秒,以便为其提供来自该池的新连接(希望当前用户之一释放到该池的连接)。这只会影响新的请求者。如果当前线程继续使用该连接,则App Server不会终止这些线程。希望这能澄清。@Tommy,我还想在这里提到,一个线程等待5分钟从数据库获取连接可能是一个非常糟糕的配置。考虑到把它变成一个合理的ValueToMy,正如Kurtcebe所说,超时是一个新的请求等待池连接的时间。如果您的连接池已满,并且新线程需要数据库连接,服务器将等待300秒,以便为其提供来自该池的新连接(希望当前用户之一释放到该池的连接)。这只会影响新的请求者。如果当前线程继续使用该连接,则App Server不会终止这些线程。希望这能澄清。@Tommy,我还想在这里提到,一个线程等待5分钟从数据库获取连接可能是一个非常糟糕的配置。考虑把这个改变成合理的值