当 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线程。
我正在 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线程。