1

ODP在我的 Oracle DB 应用程序上使用。我注册到OracleConnection.StateChange事件以查看连接状态。当我断开数据库连接时,事件会触发,但例如,如果互联网连接丢失,则不会采取任何行动。

我如何通过StateChange事件处理这些(互联网连接丢失等)情况?

还是我必须创建一个线程来connnection state定期检查?如果是,我如何检查连接,因为我检查了状态,即使我拔下互联网电缆,它似乎也是打开的。

问候。

4

1 回答 1

2

常见的方法是在连接用于某事之前发出一个廉价的 sql 语句。在 oracle 上类似于“从双重选择 1”,在 ms-sql 上“选择 1”。此 sql 强制往返服务器并报告与服务器的连接丢失。

JBoss 正在使用一种叫做check-valid-connection-sql 的东西。其他人有其他名字。

于 2013-06-14T20:06:56.640 回答