JDBC连接不可用
我感谢大家为我的帖子提供解决方案/建议 环境:Portlet、Ibm Websphere、Java 场景:在门户应用程序中,每当我点击菜单项(或portlet)时,服务器通常会在一个小时内停机。无论我是保持在同一个菜单项(或portlet)中还是转到另一个菜单项(或portlet),这都无关紧要。因此,服务器关闭后,我们通常无法建立后端连接。 服务器中的连接池大小=50 在应用程序中:for中的数据库调用有一个900次迭代的循环。检查我知道的前50次迭代的日志,操作在几秒钟内就完成了。但从第51次迭代开始,会出现一个连接超时,表明JDBC连接不可用,此后每次迭代都需要3分钟(一直等待数据库连接,但没有得到连接) 示例代码:JDBC连接不可用,jdbc,websphere,database-connection,portlet,jdbctemplate,Jdbc,Websphere,Database Connection,Portlet,Jdbctemplate,我感谢大家为我的帖子提供解决方案/建议 环境:Portlet、Ibm Websphere、Java 场景:在门户应用程序中,每当我点击菜单项(或portlet)时,服务器通常会在一个小时内停机。无论我是保持在同一个菜单项(或portlet)中还是转到另一个菜单项(或portlet),这都无关紧要。因此,服务器关闭后,我们通常无法建立后端连接。 服务器中的连接池大小=50 在应用程序中:for中的数据库调用有一个900次迭代的循环。检查我知道的前50次迭代的日志,操作在几秒钟内就完成了。但从第51
listSize = 900;
for(int i=0; i < listSize; i++){
// database query for setting a status message.
}
listSize=900;
for(int i=0;i
我们怀疑这可能是由于打开了数据库连接。因此,在达到池大小50后,连接不可用于第51次迭代。但是在应用程序中使用了spring的jdbcTemplate,它可以自动打开/关闭连接
问题:
listSize = 900;
for(int i=0; i < listSize; i++){
// database query for setting a status message.
}
不可缩放
。在web.xml
中放入类似的内容,并在Spring配置中使用java:comp/env/jdbc/datasourceRef
<resource-ref>
<res-ref-name>jdbc/datasourceRef</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Application</res-auth>
<res-sharing-scope>Unshareable</res-sharing-scope>
</resource-ref>
jdbc/datasourceRef
javax.sql.DataSource
应用
不可分享的
问一个以上的问题通常表明你的问题过于宽泛,其次,你需要展示一些使用连接的代码。通常,您的代码必须关闭连接,以便及时将它们返回到连接池。如果您想要详细的答案,您必须发布更详细的代码。到目前为止,您发布的唯一代码示例是一个for循环,其中没有任何内容。。。