java 单号递增_JAVA 生成不重复订单号 优化版本 订单号格式为yyyymmdd后面自增

本文介绍了一个JAVA实现的订单号生成服务,通过使用Redis锁和缓存优化,确保订单号的唯一性和递增性。在生成订单号时,会预先生成1万个订单号放入队列,当队列为空时再进行新的一轮生成,避免并发问题,保证系统的高可用性。
摘要由CSDN通过智能技术生成

@Service("orderNumberDubbboServiceImpl")

public class OrderNumberDubbboServiceImpl implements OrderNumberDubbboService

{

private static Logger LOG = Logger.getLogger(OrderNumberDubbboServiceImpl.class);

private static final Integer ONCE_ORDER_NUM_CREATE =

ConverterUtils.toInt(EConfig.getOtherConfigPropertiesValue("once_order_num_create"), 10);

/**

* redis锁操作service

*/

@Resource(name = "redisLockServiceImpl")

private RedisLockService redisLockService;

@Resource(name = "redisCacheServiceImpl")

private RedisCacheService redisCacheService;

/**

* 预先 产生很多订单号 key订单号类型value 预先生产出来的订单号

*/

private Map> orderNumberQueueMap = new ConcurrentHashMap<>();

public synchronized String getOneOrderNumber(String type)

{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值