目录 实现一:TTL 设置队列过期时间实现延时消费 设置消息过期时间实现延时消费 实现二:插件实现 公司最近需要用到rabbitmq,考虑到业务需求,后期可能需要用到mq延时消费机制。工作一年,对很多技术都不了解,还是一名技术小白,决定主动学习研究一下。 在网上查阅浏览了许多帖子,关于延时消费主要分为两种实现,一种是rabbitmq的TTL机制,一种是rabbitmq的插件实现。 感谢以下楼主的经验分享: https://www.cnblogs.com/boshen-hzb/p/6841982.html …

2021年1月17日 0条评论 16点热度 阅读全文

最近在实现一个业务,就是需要做到消息延迟推送,在Java 多线程并发开发过程中,了解到DelayQueue类的:是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。注意:不能将null元素放置到这种队列中。然后再开一个扫描线程去轮询,就可以实现延迟消息的处理了,但是这样子做有一个弊端,就是得开一个线程时刻轮询,比较好资源,于是就寻找到了另外一种解决方案,现在就开始做下记录分享 解决方案就是Rabbi…

2021年1月17日 0条评论 21点热度 阅读全文

使用Chrome浏览器插件sense请求时,报错406 查询官方文档得到说明,从6.0版本开始,本次请求必须加上正确的 Content-Type, 详细见官网说明https://www.elastic.co/blog/strict-content-type-checking-for-elasticsearch-rest-requests Sense 0.9.0 版本不能支持elasticsearch6.x,我自己改了一下这个插件,使其发送ajax请求时带上contentType: 'application…

2021年1月17日 0条评论 45点热度 阅读全文

问题的提出:springboot 的properties已经包含了很多默认配置了 我们再用@Configuration 配置的目的是什么 ? 问题回答:在Spring Boot中,Starter为我们自动启用了很多Bean,这些Bean的配置信息通过properties的方式暴露出来以供使用人员调整参数,但并不是通过调整properties文件能配置所有的Bean,一下负责的Bean配置还是需要使用@Configuration方式,比如Spring Security的WebSecurityConfigurerAda…

2021年1月17日 0条评论 28点热度 阅读全文

  之前一直在用github上面的Octotree,现在在用gitee(主要是github的访问速度太慢了)。   现在主要转到了gitee上面了,那么有没有基于 Octotree 的[码云]文件树插件呢,当然是有的,下面就进行安装。 1.基于 Octotree 的[码云]文件树插件 点击到GitCodeTree   这个里面有非常详细的文档说明,仔细看下也可以。下面就直接开干了。 2.下载插件 有针对不同浏览器的插件,选择自己需要的进行下载。相信大部分都是用Google Chorm吧,那么直接下载即可(我们下载已…

2021年1月17日 0条评论 22点热度 阅读全文

本程序使用jsoup爬取中国天气网的天气信息,使用log4j作为日志进行记录,使用java cocket通信作为发送源发送天气信息,并且将数据保存在数据库中 1.引入 依赖: 1.引入jsoup: <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.2</version> </dependency> …

2021年1月17日 0条评论 25点热度 阅读全文

1. 如何快速检索? Elasticsearch 是通过 Lucene 的倒排索引技术实现比关系型数据库更快的过滤。特别是它对多条件的过滤支持非常好,比如年龄在 18 和 30 之间,性别为女性这样的组合查询。倒排索引很多地方都有介绍,但是其比关系型数据库的 b-tree 索引快在哪里?到底为什么快呢? 笼统的来说,b-tree 索引是为写入优化的索引结构。当我们不需要支持快速的更新的时候,可以用预先排序等方式换取更小的存储空间,更快的检索速度等好处,其代价就是更新慢。要进一步深入的化,还是要看一下 Lucene …

2021年1月17日 0条评论 81点热度 阅读全文

前言 在进行多线程编程以及线程池编程时候,是无法用肉眼确认程序性能的,也不会知道当前jvm上面有多少个线程,线程池用的对不对。 这时候就要用 visual vm 这些jdk自带的性能监测工具了。 这里简要提一下,有兴趣的话请参考: Java线程及Jvm监控工具 jvm 内存dump、gc查看、线程死锁,jmap、jstack、jstat 介绍 请打开你的jdk的bin目录找到以下图标,双击打开: 然后你会看到: 左侧是用到jvm的程序,我们点击intellij platform–就是用这的idea java编辑器,…

2021年1月17日 0条评论 22点热度 阅读全文

前言 异步请求----客户端一旦发起请求,服务器立刻将请求丢到其他线程处理,而当前的接收线程就能闲下来继续接收客户端请求了,这个看起来性能杠杠的,这篇文章就来入坑异步请求。 spring异步请求的配置 spring mvc对异步请求的处理 这篇文章说得很清楚了, 当然,你也可以参考一下: 异步web开发专题及tomcat下的spring异步请求配置勘误 默认配置下的异步请求性能表现 进行这个操作前,请先确认已经配置好了,然后能够运行起来,还有,顺便看一看visual vm的用法,这次要实践了。 jvm性能监控–vi…

2021年1月17日 0条评论 15点热度 阅读全文

jstack Dump 日志文件中的线程状态 dump 文件里,值得关注的线程状态有: 死锁,Deadlock(重点关注)  执行中,Runnable    等待资源,Waiting on condition(重点关注)  等待获取监视器,Waiting on monitor entry(重点关注) 暂停,Suspended 对象等待中,Object.wait() 或 TIMED_WAITING 阻塞,Blocked(重点关注)   停止,Parked 下…

2021年1月17日 0条评论 10点热度 阅读全文