【问题标题】:Handle a database crash in the application level在应用程序级别处理数据库崩溃
【发布时间】:2012-11-21 17:57:39
【问题描述】:

问题很清楚,我举个例子。

(请阅读:) 假设我们在用户的机器上有一个应用程序和一个远程数据库。该应用程序高度依赖数据库来根据用户的选择检索内容。

数据库崩溃/断网等处理方法有哪些?

当尝试连接到数据库时会显示一条消息,但接下来呢? 关闭应用程序或者是否可以禁用它让我们说一分钟然后重试 在此期间连接,如果失败则再次强制关闭?

【问题讨论】:

  • 这取决于您的用户。您可能会收到重试消息,y/n
  • 这个问题无法回答,因为完全不清楚您的应用程序在什么上下文中运行,以及为什么无法连接到数据库应该是关闭系统的原因?
  • 我不明白你是如何对上下文感到困惑的......它是一个带有远程数据库的标准应用程序......另外,我在哪里谈到关闭系统?我在谈论关闭应用程序,显然用户应该重新启动它。此外,该应用程序。将在启动时检查数据库的可用性。编辑:另外,它与特定的语言或 DBMS 无关,它是一个一般的架构问题......

标签: java database exception-handling crash


【解决方案1】:

轮询您的数据库/互联网连接是否可用,如果它不可用,请按照@Beth 所述执行并通知您的用户。

如果问题是互联网连接或数据库问题,重新启动应用程序不太可能解决任何问题,并且更有可能惹恼您的用户,他们会认为重新启动应用程序是一种解决方案。

我用于网络连接应用程序的解决方案是间歇性地轮询连接并显示连接状态以供用户查看。您的数据库也可以这样做。

当然,由于持续检查,您会有额外的开销,但如果您的连接不太好,那么它可能是适合您的解决方案。

顺便说一句,如果您的数据库在一致的基础上崩溃(或足以保证在此问题中提到它),您真的应该考虑另一台主机,或者检查您的配置并修复该问题,数据库构建为健壮...

【讨论】:

  • 公平的答案,我想我也只是想从其他人那里听到。谢谢!
猜你喜欢
  • 2014-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多