我正在使用H2数据库进行Java Swing开发的零售POS软件。我有一个问题,在多用户环境中,连接到服务器的客户端很少。多用户数据库,如何识别客户端断开连接时
如果客户端系统异常退出并尝试再次重新连接,服务器如何识别它并重新连接。是否有任何方法可以在客户断开连接后立即进行识别。
这对我很有帮助。提前致谢。
随着亲切的问候,
I.Murugesan [email protected]
我正在使用H2数据库进行Java Swing开发的零售POS软件。我有一个问题,在多用户环境中,连接到服务器的客户端很少。多用户数据库,如何识别客户端断开连接时
如果客户端系统异常退出并尝试再次重新连接,服务器如何识别它并重新连接。是否有任何方法可以在客户断开连接后立即进行识别。
这对我很有帮助。提前致谢。
随着亲切的问候,
I.Murugesan [email protected]
对于每一个数据库中,有一个表INFORMATION_SCHEMA.SESSIONS
。您可以使用它来列出数据库的所有打开会话。
另外,每个TCP服务器都有一个内存中的“management_db_”。一台TCP服务器可以服务多个数据库。要连接到它,您需要知道managementPassword
,这是您需要使用-tcpPassword
设置设置的密码。用户名是一个空字符串。另见TcpServer.initManagementDb
and TcpServer.shutdown
。您可以获取会话,数据库URL,用户名和连接时间(表名为sessions
)。
所以你想让服务器识别客户端连接?为什么? – 2013-03-07 18:07:32
使相同的客户端再次连接。否则,当客户端异常退出时,由于服务器不知道这一点,服务器将不允许同一客户端再次登录。 – Murugesan 2013-03-17 16:22:52
H2 TCP服务器不会阻止用户同时登录多次。如果你想要这个功能,你需要自己实现它。但是我添加了一个可能有帮助的答案(见下文)。 – 2013-03-17 20:05:46