原文链接:http://www.studyshare.cn/blog-front/blog/details/1132 一.在各种电商网站下订单后会保留一个时间段,时间段内未支付则自动将订单状态设置为已过期.   二.解决方案 1.轮询数据库:实现一个定时器,每隔一段时间去检查一遍数据库里的所有订单,查看其状态是否是未支付并且已经到期.并修改这些数据的状态为已过期. 优点:方法简单,容易实现 缺点:订单状态处理不及时,轮询数据库的次数中可能很多都并没有修改订单(做的无用功),数据库频繁多次被连接浪…
既然选择,就注定风雨兼程! 开始吧! 准备:Idea201902/JDK11/ZK3.5.5/Gradle5.4.1/RabbitMQ3.7.13/Mysql8.0.11/Lombok0.26/Erlang21.2/postman7.5.0 难度:新手--战士--老兵--大师 目标:1,使用“雪花算法”生成订单ID  2,使用集中式Redis生成订单明细ID,3.Logback+slf4j打印日志 步骤:1.项目架构及代码基础设施,见往期文章.2.整体思路:其实ID的生成有很多种方案,如UUID…
原文连接:(http://www.studyshare.cn/blog-front//blog/details/1167/0 ) 一.队列及阻塞队列概念 1.队列:是一种特殊线性表,特殊之处在于操作是受限制的,只允许在表的前端进行删除操作,在表的后端进行插入操作.进行删除操作的端为对列头,进 行插入操作的端为队列尾.插入一个元素称之为入队,删除一个元素称为出队,最先插入的元素最先出队,因此队列是一个先进先出的线性表. 2.阻塞队列:所谓阻塞队列,就是阻塞队列中有元素并且队列已经满了的时候,其他线…
概述 ActiveMQ是由Apache出品的,一款最流行的,能力强劲的开源消息总线.ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,它非常快速,支持多种语言的客户端和协议,而且可以非常容易的嵌入到企业的应用环境中,并有许多高级功能. 特性 遵循JMS规范:ActiveMQ的各种特性是JMS1.1规范的实现.它们包括同步和异步消息传递,一次和只有一次的消息传递,对于预订者的持久消息等等.依附于JMS规范意味着,不论JMS消息提供者是谁,同样的基本特…
前言 人间清醒 目录 前言 业务场景 JUC(DelayQueue)方案 DelayQueue简介 JUC DelayQueue实现订单超时案例代码 案例代码 Redis Key过期事件方案 简介 Rabbit Key过期时间实现订单超时案例代码 JUC与Redis的不足 为什么使用RabbitMQ来实现? RabbitMQ死信队列方案 死信队列实现订单超时案例代码 延迟消息插件方案 延迟消息插件安装 延迟消息实现订单超时案例代码 案例源代码 业务场景 用戶在购买商品的时候通常会预购然后没付款,…
/** 本环境使用php+smarty,结合两种快递api调取快递数据 * 说明,先快递鸟调取数据,失败后再调取快递网的数据* 快递鸟 http://www.kdniao.com 快递网 http://www.kuaidi.com/ * ----前台调用代码---- <{if $de.is_virtual neq 1 && $de.logistics_name}> <dl class="dl clearfix"> <dt>物流信息&l…
ActiveMQ入门 作者:一路向北 摘要:本文主要讲述ActiveMQ的基本知识和使用方法,并简单结合spring使用ActiveMQ. 一.ActiveMQ特性和使用总览 企业消息软件从80年代起就存在,它不只是一种应用间消息传递风格,也是一种集成风格.因此,消息传递可以满足应用间的通知和互相操作.但是开源的解决方案是到最近10年才出现的.Apache ActiveMQ就是其中一种.它使应用间能以异步,松耦合方式交流.本章将向您介绍ActiveMQ. ActiveMQ是Apache软件基金下…
关键字: activemq 2.6 Features    ActiveMQ包含了很多功能强大的特性,下面简要介绍其中的几个.2.6.1 Exclusive Consumer    Queue中的消息是按照顺序被分发到consumers的.然而,当你有多个consumers同时从相同的queue中提取消息时,你将失去这个保证.因为这些消息是被多个线程并发的处理.有的时候,保证消息按照顺序处理是很重要的.例如,你可能不希望在插入订单操作结束之前执行更新这个订单的操作.    ActiveMQ从4.…
1.JMS简介 JMS的全称是Java Message Service,即Java消息服务.它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息.把它应用到实际的业务需求中可以在特定的时候利用生产者生成消息,并进行发送,对应的消费者在接收到对应的消息后去完成对应的业务逻辑.对于消息的传递有两种类型,一种是点对点的,即一个生产者和一个消费者一一对应:另一种是发布/订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进行接收. JMS编程模型 (1) Conn…
ActiveMQ的内核是Java编写的,也就是说如果服务端没有Java运行环境ActiveMQ是无法运行的.ActiveMQ启动时,启动脚本使用wrapper包装器来启动JVM.JVM相关的配置信息在启动目录的“wrapper.conf”配置文件中.各位读者可以通过改变其中的配置项,设置JVM的初始内存大小和最大内存大小(当然还可以进行其他和JVM有关的设置,例如开启debug模式). 从最初的AMQ Message Store方案,到ActiveMQ V4版本中推出的High performa…