java - 如何使用java在服务器端实现倒计时触发器?

标签 java timer countdown

像 quibids 和 eBay 这样的投标网站有一个倒计时,显示拍卖还剩多少时间。我知道这可以在 FE 上解决,并且应该相当容易。我想知道的是如何在服务器端执行此操作?比如向参与但未获胜的人发送电子邮件,并在时间到时更新数据库。我考虑过两种方法来做到这一点。

  1. 将计时器保留在客户端,并在第一个请求命中时进行更新
  2. 打开一个新线程并使其 hibernate x 时间,然后醒来进行更新。

这两种方法对我来说都不合适,并且会导致我认为的问题。就像用户可能无法按时获得更新,或者服务器将有很多睡美人在等待一样。

最佳答案

What I want to know is how to do this on server side? like sending an email to people participate but didn't win and updating database when times up.

最佳方法可能会有所不同,具体取决于服务器端的技术堆栈。

如果您从 Servlet 容器(例如:Tomcat、Jboss...)运行,您 可能想做类似的事情:Background timer task in JSP/Servlet web application

如果您正在运行 Spring 应用程序(例如:Spring Boot 或 Spring MVC),那么我建议使用 @Scheduled 或其他 Task Execution and Scheduling

对于高级场景,您可能需要使用 Quartz

还有别的东西,那么你应该尝试将它与 Java Timer Task 连接起来

关于java - 如何使用java在服务器端实现倒计时触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46146335/

相关文章:

javascript - 如何仅在淡入倒计时计数器后调用游戏开始方法?

javascript - 达到目标时更改倒数计时器的外观?

java - 映射/数组列表 : which one is faster to search for an element

java - Hibernate HQL 不断抛出 'QuerySyntaxException: unexpected token'

java - 使用 AND 运算

swift - 位置管理器上的计时器

java - 无法创建 epoll 实例。错误号=24

android - SplashScreen - 关闭时间

c - 格式字符串未使用数据参数 - 输出长整型

带有 javascript 计时器的 php - 当用户在计时器为零之前离开页面时会发生什么