当 servlet 被销毁时,HSQLDB 定时器线程仍然 运行

HSQLDB Timer Thread still running when servlet is destroyed

我正在 Tomcat 上开发一个 servlet 运行。虽然我仍处于开发的早期阶段,但我正在针对平面文件 HSQLDB 数据库进行测试。一旦接近生产就绪状态,我将转向服务器模式下的 HSQLDB(或者可能是完全不同的 DBMS,尽管这尚未决定)。

现在每次 Tomcat 重新加载 servlet(我正在使用 Eclipse 开发)时,我都会收到以下消息:

The web application [subscription-manager] appears to have started a thread named [HSQLDB Timer @1192be13] but has failed to stop it.

答案表明我应该对数据库发出 SHUTDOWN 命令来解决这个问题——只要它只是一个平面文件数据库就足够公平,但一旦我转向服务器模式就会导致灾难 (数据库将在多个组件之间共享)。

我是否应该暂时忽略此警告并期望它在我切换到服务器模式时消失,或者 HSQLDB 驱动程序在服务器模式下连接到实例 运行 时是否仍会生成计时器线程?如果是,我需要做什么?

如果您要切换到服务器模式,则可以忽略该警告。

连接到数据库服务器时,驱动程序不会生成计时器线程。服务器进程上会有一个Timer线程。