- 间隔几秒才能重新下单
private Map<String, Long> userTimeMap = new ConcurrentHashMap<>();
long lastTime = userTimeMap.getOrDefault(userId, 0l);
long nowTime = Clock.getInstance().now().getTime();
if (nowTime - lastTime < 1000) {
errorMsg = Message.ORDER_TOO_FAST;
break check
}
userTimeMap.put(userId, nowTime);
- 订单下单时,为了避免多线程同时访问的问题,我们需对代码块进行同步锁。
synchronized (this) {
里面对象是不允许多线程同时处理的
}
-
不同服务通过 事件 进行信息传递,也就是需要这些多个服务之间进行连线。 @Autowired 进行这些对象注入。@Qualifier("xxxx") 也是注入。
-
如果遇到多个对象调用某个方法,可以对这些方法包装成某个类进行使用。可以参考
CloudFormatUnit
进行查看。 -
检查OTC 最新内容
网友评论