当前位置: 首页 > 面试题库 >

如何从池中删除无效的数据库连接

叶煌
2023-03-14
问题内容

我正在使用 TomcatOracle 数据库建立连接池。它工作正常,但是当我长时间使用我的应用程序时,出现“ 连接重置
错误。我收到此错误的原因是,在tomcat数据源的逻辑连接关闭之前,oracle服务器的物理连接已关闭。因此,在从数据源获取连接之前,我正在使用连接对象的
isValid(0) 方法检查连接有效性,如果物理连接已关闭,则该方法为false。但我不知道如何从池中 删除无效的连接
对象。


问题答案:

我在 server.xml* 文件中配置数据源时使用了 validatationquery
。在提供给应用程序之前,它将通过在数据库中执行查询来检查连接的有效性。
*

对于 Oracle

validationQuery="/* select 1 from dual */"

对于 MySql

validationQuery="/* ping */"


 类似资料:
  • 我开始使用一个代码,使用Firebase实时数据库。我将它实现到我的解决方案中。连接和控制非常完美,所以我将其用于生产环境。 一段时间后,我在升级,我需要再次删除所有数据-但请稍候,控制台中最高根级别不再有删除按钮,并且一次只允许在一个选定项目中: 上次更新仅显示此消息,没有后续步骤: 只读 问:如何一次删除所有数据?

  • viewuser.jsp 你好,我有问题在删除用户。它显示执行后输出失败。我认为它没有从ViewUser中获取用户名。请帮帮我.查询正常,数据库连接仍有问题,取用户名并删除。谢谢你!

  • 在配置DBCP2池时,根据文档,我注意到-有一个名为timebetweenvictionrunsmillis的配置,描述如下: 空闲对象逐出器线程运行之间的Hibernate毫秒数。如果为非正,则不会运行空闲对象逐出器线程。 其默认值为-1。 这是否意味着逐出器线程永远不会在默认配置下运行?那么配置参数maxIdle是如何强制的?如果空闲连接的计数大于maxIdle,池必须退出空闲连接。 默认配置

  • 我正在做一个聊天应用程序我想让用户能够删除聊天和消息从firebase数据库下面是我尝试使用一些代码删除消息适配器的代码,当我长时间点击消息,但当我登录到应用程序的消息回来。我使用firebase数据库

  • 我如何删除记录“苹果”(在图片中标记)? 根据文档,要移除一个项,需要对引用调用removeValue()。但要获得引用,我需要子ID。因为它是一个随机生成的id(-kisnx87ayigsh3ilp0d),如何删除它?

  • 我正在为员工管理系统创建一个web应用程序,使用ApacheTomcat作为HTTP服务器,Oracle作为数据库,applet用于客户端编程,servlet用于服务器端编程。我还想使用DBCP来管理与数据库的连接。 我希望执行查询的servlet使用客户端为连接输入的用户名和密码。但是到目前为止,我看到在中配置资源时必须设置连接池的用户名和密码。 有没有什么方法可以实现这一点并且仍然使用DBCP

  • 我需要你帮我。我想在RecyclerView中通过SwipeToDelete删除数据库中的数据。 我已经有了一个从RecycleView中删除项目的Swipe类,我可以从该列表中删除项目,但不能从数据库中删除。 我尝试在NoteAdapater(回收器适配器)中调用数据库,并使用removeItem(int-position)方法删除所需的项,如下所示: 这是Main Active代码: 删除数据

  • 问题内容: 我有一张桌子,上面有一些ID +标题。我想使title列唯一,但是它已经有60万条记录,其中有些是重复的(有时是几十次)。 如何删除除一个以外的所有重复项,以便之后可以向标题栏添加一个唯一键? 问题答案: 此命令添加唯一键,并删除所有会产生错误的行(由于唯一键)。这将删除重复项。 编辑:请注意,对于某些版本的MySQL ,此命令可能不适用于InnoDB表。解决方法请参阅此帖子。(感谢“