像 quibids 和 eBay 这样的投标网站有一个倒计时,显示拍卖还剩多少时间。我知道这可以在 FE 上解决,并且应该相当容易。我想知道的是如何在服务器端执行此操作?比如向参与但未获胜的人发送电子邮件,并在时间到时更新数据库。我考虑过两种方法来做到这一点。
- 将计时器保留在客户端,并在第一个请求命中时进行更新
- 打开一个新线程并使其 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/