当前位置: 首页 > news >正文

有哪些做问卷调查赚钱的网站wordpress 输出sql

有哪些做问卷调查赚钱的网站,wordpress 输出sql,石景山网站制作建设公司,物流网站建设实例一、前言 延迟队列的使用场景#xff1a;1.未按时支付的订单#xff0c;30分钟过期之后取消订单#xff1b;2.给活跃度比较低的用户间隔N天之后推送消息#xff0c;提高活跃度#xff1b;3.过1分钟给新注册会员的用户#xff0c;发送注册邮件等。 实现延迟队列的方式有…一、前言 延迟队列的使用场景1.未按时支付的订单30分钟过期之后取消订单2.给活跃度比较低的用户间隔N天之后推送消息提高活跃度3.过1分钟给新注册会员的用户发送注册邮件等。 实现延迟队列的方式有两种 通过消息过期后进入死信交换器再由交换器转发到延迟消费队列实现延迟功能使用rabbitmq-delayed-message-exchange插件实现延迟功能 注意 延迟插件rabbitmq-delayed-message-exchange是在RabbitMQ 3.5.7及以上的版本才支持的依赖Erlang/OPT 18.0及以上运行环境。 由于使用死信交换器相对曲折本文重点介绍第二种方式使用rabbitmq-delayed-message-exchange插件完成延迟队列的功能。 二、安装延迟插件 1.1 下载插件 打开官网下载http://www.rabbitmq.com/community-plugins.html 选择相应的对应的版本“3.7.x”点击下载。 注意 下载的是.zip的安装包下载完之后需要手动解压。 1.2 安装插件 拷贝插件到Docker docker cp D:\rabbitmq_delayed_message_exchange-20171201-3.7.x.ez rabbit:/plugins RabbitMQ在Docker的安装请参照本系列的上一篇文章http://www.apigo.cn/2018/09/11/springboot13/ 1.3 启动插件 进入docker内部 docker exec -it rabbit /bin/bash 开启插件 rabbitmq-plugins enable rabbitmq_delayed_message_exchange 查询安装的所有插件 rabbitmq-plugins list 安装正常效果如下图 重启RabbitMQ使插件生效 docker restart rabbit 三、代码实现 3.1 配置队列 import com.example.rabbitmq.mq.DirectConfig; import org.springframework.amqp.core.*; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.HashMap; import java.util.Map;Configuration public class DelayedConfig {final static String QUEUE_NAME delayed.goods.order;final static String EXCHANGE_NAME delayedec;Beanpublic Queue queue() {return new Queue(DelayedConfig.QUEUE_NAME);}// 配置默认的交换机BeanCustomExchange customExchange() {MapString, Object args new HashMap();args.put(x-delayed-type, direct);//参数二为类型必须是x-delayed-messagereturn new CustomExchange(DelayedConfig.EXCHANGE_NAME, x-delayed-message, true, false, args);}// 绑定队列到交换器BeanBinding binding(Queue queue, CustomExchange exchange) {return BindingBuilder.bind(queue).to(exchange).with(DelayedConfig.QUEUE_NAME).noargs();} }3.2 发送消息 import org.springframework.amqp.AmqpException; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.amqp.core.Message; import org.springframework.amqp.core.MessagePostProcessor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; import java.util.Date;Component public class DelayedSender {Autowiredprivate AmqpTemplate rabbitTemplate;public void send(String msg) {SimpleDateFormat sf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);System.out.println(发送时间 sf.format(new Date()));rabbitTemplate.convertAndSend(DelayedConfig.EXCHANGE_NAME, DelayedConfig.QUEUE_NAME, msg, new MessagePostProcessor() {Overridepublic Message postProcessMessage(Message message) throws AmqpException {message.getMessageProperties().setHeader(x-delay, 3000);return message;}});} }3.3 消费消息 import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; import java.util.Date;Component RabbitListener(queues delayed.goods.order) public class DelayedReceiver {RabbitHandlerpublic void process(String msg) {SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);System.out.println(接收时间: sdf.format(new Date()));System.out.println(消息内容 msg);} }3.4 测试队列 import com.example.rabbitmq.RabbitmqApplication; import com.example.rabbitmq.mq.delayed.DelayedSender; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner;import java.text.SimpleDateFormat; import java.util.Date;RunWith(SpringRunner.class) SpringBootTest public class DelayedTest {Autowiredprivate DelayedSender sender;Testpublic void Test() throws InterruptedException {SimpleDateFormat sf new SimpleDateFormat(yyyy-MM-dd);sender.send(Hi Admin.);Thread.sleep(5 * 1000); //等待接收程序执行之后再退出测试} }执行结果如下 发送时间2018-09-11 20:47:51 接收时间:2018-09-11 20:47:54 消息内容Hi Admin.完整代码访问我的GitHubhttps://github.com/vipstone/springboot-example/tree/master/springboot-rabbitmq 四、总结 到此为止我们已经使用“rabbitmq-delayed-message-exchange”插件实现了延迟功能但是需要注意的一点是如果使用命令“rabbitmq-plugins disable rabbitmq_delayed_message_exchange”禁用了延迟插件那么所有未发送的延迟消息都将丢失。
http://www.zqtcl.cn/news/483654/

相关文章:

  • 中国空间站官网app下载平台有哪些
  • 做外贸网站报价单做网站需要什么证件吗
  • 网站可以做视频链接东红物流网站建设规划书
  • 自己的网站网站免费部署
  • 广州专业的网站建设公司镇海seo关键词优化费用
  • 网站建设英文字体格式网络技术培训内容
  • 郑州公司网站设计在西宁做网站可以吗
  • 做最好的言情网站南通优普营销网站建设
  • 毕业设计网站可以做什么辽宁省建设厅网站更新
  • 同城信息网站建设牡丹江网站推广
  • 四川省城乡住房建设部网站首页商丘网站制作公司一二三网络推广
  • asp网站开发全程视频免费发布招聘信息平台
  • 机械网站建设开发网站如何做收录排行
  • 成都市学校网站建设怎样做网站二维码
  • 网站建设企业电话在线照片处理编辑器
  • 长沙建设网站企业wordpress 亲子模板下载
  • 济南seo整站优化价格织梦网站做404页面
  • 石家庄做标书的网站如何选取网站关键词
  • 摄影作品网站推荐wordpress用插件注册
  • pc端兼手机端网站模板中国网站 服务器
  • 江宁区建设工程局网站做网站满屏的照片尺寸是多少
  • 中国设计师网站网站开发需要什么专业的人才
  • 制作网站第一步龙海建设局网站
  • 网站建设的业务规划资源分享类网站模板
  • app与网站数据交互忻州集团网站建设
  • 个人网站有必要备案吗专业建站哪家好
  • 网站代码软件WordPress 编辑器2016
  • 网站建设与制作教学计划重庆本地建站
  • 动漫做视频在线观看网站宝安做小程序有推荐吗
  • 落伍者论坛 做网站成都关键词自然排名