我正在开发一个基于Vertx-Spring的Java微服务,它将处理拍卖的创建、更新和删除.它还将根据计时器关闭拍卖.要实现此功能,我有哪些 Select ?我是否应该使用vertx.setTimer()种方法来设置计时器事件以关闭此类拍卖?

推荐答案

您应该not使用计划进程来更改需要任何时间精度的资源的状态,例如拍卖,因为进程不能以此精度生成事件.您还应该使用基于服务的计时器来更改任何系统级资源的状态,因为您将 for each 服务设置一个计时器,而不是 for each 资源设置一个计时器.

相反,当您创建新的拍卖时,您应该添加一个closed_at时间戳字段.您的后端服务应该动态生成is_closed标志,以便is_closed = now() >= closed_at.这样,您的后端服务可以验证针对拍卖的任何操作(出价、取消等),您的前端将报告拍卖的状态,但关闭条件将具有毫秒级的精度,并且您永远不会try 关闭同一拍卖两次.

Java相关问答推荐

Gmail Javi API批量处理太多请求

Java Stream,需要更新列表对象列表

即使我正在使用并发方法,使用Javascript的应用程序也会继续冻结'

@org.springframework.beans.factory.annotation.Autowired(required=true)-注入点有以下注释:-SpringBoot

为什么在枚举中分支预测比函数调用快?

JVM会优化这个数学运算吗?

AssertJ Java:多条件断言

如何调整工作时间日历中的时间

在Java中,如何按一个属性升序,然后按另一个属性降序对对象列表进行排序?

Spring Data JPA慢慢地创建了太多非活动会话

由于 list 中的权限错误,Android未生成

Java构造函数分支

Spring-Boot Kafka应用程序到GraalVM本机映像-找不到org.apache.kafka.streams.processor.internals.DefaultKafkaClientSupplier

如何在EL处理器中定义带有命名空间的变量?

JFree Chart从图表中删除边框

如何在ImageIO或十二只猴子中旋转TIFF CMYK图像?

如何通过Java java.lang.Foreign API访问本机字节数组

本机方法(JNI)总是编译的吗?

当我将JTextField的getText函数与相等的String进行比较时;t返回true

为什么Instant没有从UTC转换为PostgreSQL的时区?