我正在开发一个Java Web应用程序。该方案描述如下:
许多用户提交了他们的状态,他们也可以看到他人的状态。它看起来像是一种社交网络。
他们的状态有一段时间可以显示,在此期间之后,他们在数据库中的状态将被删除。
删除其状态时,向所有用户发送通知以请求更新(已删除的状态必须实时消失!)
我试图通过Java Web应用程序中的线程自动执行此操作。但是,我遇到了一些问题:
+是否有可能像这样管理数据库?我想过数据库事件,但是当删除记录时,我不会被注意到。
+我正在使用Web套接字使应用程序实时工作。如果某人更新新状态或更改状态,则可以使用Web套接字向所有用户发送更新通知。但是当更改来自数据库时,我不知道如何发送这样的通知。
你能给我一些想法吗?先谢谢你了!答案 0 :(得分:0)
您可以使用DelayQueue
存储要在指定延迟时删除的每个项目,当您删除该项目时,删除数据库中的记录并向浏览器发送通知。
答案 1 :(得分:0)
以下是如何在Java EE 6应用程序中使用计时器服务的教程:
答案 2 :(得分:0)
如果您需要删除状态,即使您的程序崩溃,我建议您使用quartz - 这样,如果您的程序崩溃,那么quartz会在您重新加载程序时更新数据库。如果您的程序不需要这么强大,那么请改用DelayQueue。