如何在java中设置连接Mysql的计时器

如何在java中设置连接Mysql的计时器,java,multithreading,Java,Multithreading,我正在制作一个小型聊天应用程序。我开发前端和后端代码。我从UI获取用户信息(用户名、男性、性别),然后提交。点击提交按钮重定向下一页时,界面将显示计时器30秒(30,29,28,…,0)并保存数据 用户1提交和用户2提交 默认数据库状态“NC”(未连接) 同时,我的java代码将搜索数据库中可用的任何“W”(等待)。如果可用,两个都将在30秒后30秒连接,否则用户将状态“W”更改为30秒 mysql> desc userStatus; +--------+----------------

我正在制作一个小型聊天应用程序。我开发前端和后端代码。我从UI获取用户信息(用户名、男性、性别),然后提交。点击提交按钮重定向下一页时,界面将显示计时器30秒(30,29,28,…,0)并保存数据

用户1提交和用户2提交

默认数据库状态“NC”(未连接)

同时,我的java代码将搜索数据库中可用的任何“W”(等待)。如果可用,两个都将在30秒后30秒连接,否则用户将状态“W”更改为30秒


mysql> desc userStatus;
+--------+--------------------+------+-----+-------------------+-----------------------------------------------+
| Field  | Type               | Null | Key | Default           | Extra                                         |
+--------+--------------------+------+-----+-------------------+-----------------------------------------------+
| id     | int                | NO   | PRI | NULL              | auto_increment                                |
| user1  | int                | YES  |     | NULL              |                                               |
| user2  | int                | YES  |     | NULL              |                                               |
| status | enum('W','C','NC') | YES  |     | NC                |                                               |
| time   | timestamp          | NO   |     | CURRENT_TIMESTAMP | DEFAULT_GENERATED on update CURRENT_TIMESTAMP |
+--------+--------------------+------+-----+-------------------+-----------------------------------------------+
5 rows in set (0.38 sec)


user1->不可用状态“W”用户将在30秒后自动断开连接并更改状态“NC”(未连接)30秒后更改“W”。user2->在30秒内,任何其他人输入(用户名、电子邮件、性别),同一进程计时器在UI中启动30秒,然后java将在DB中搜索任何“W”。但user1已经可用,因此user1和user2连接并通信30秒。这一过程持续不断

我的问题是如何在DB中搜索“W”。如果可用,则两个连接的响应将发送“不可用”; 如何在java代码中等待30秒,如果“W”可用,免疫将连接30秒