SpringBoot
文章平均质量分 60
Strive11
这个作者很懒,什么都没留下…
展开
-
solr group去重查询 +高亮显示
我们在使用solr查询的时候会遇到一些某个字段重复的数据,但是我们只想取出来一条,想像sql中的group by一样,直接根据某个字段去重,接下来看一下怎么利用solr中的group去重。solr的去重有两种,一个是facet,一个就是今天我们所说的group。我们先看一下使用分组查询,solr返回给我们的数据访问solr的链接为:http://192.168.1.130:8088/solr/core1/select?df=course_name&group=true&group.f原创 2021-02-25 17:02:18 · 2596 阅读 · 3 评论 -
Springboot集成RabbitMq Exchange交换机
Exchange交换机和FanoutExchange交换机一样都是无视key的。他会根据headers参数来匹配,然后发送消息到相应的消息队列。匹配规则有两个Where Any --头部信息至少有一个匹配Where All --头部信息必须完全匹配下面我们来创建交换机和队列,以及绑定。@Componentpublic class HeaderExchange { @Bean public Queue queue1(){ return new Queu原创 2020-08-19 10:14:58 · 736 阅读 · 1 评论 -
springBoot用redis为rabbitMQ做幂等性,防止重复消费
大家好,今天分享一下我用redis来防止MQ重复消费的办法。凡是用到MQ,都会有两个很大的困惑。一,是确保消息不丢失(消息高可用)二,防止消息重复消费。保证防止消息不丢失,我们可以利用MQ的callback来确保消息是否发送成功,是否发送到交换机和队列。但是对于消息重复消费这个事情,我在网上查阅了很多资料,发现大致也就如下两点:一,利用数据库主键(insert的时候主键不可重复)二,利用redis的set操作(set相同的key会直接覆盖)以上两点确实可以解决消息重复消费,但是只适用于消费者原创 2020-06-15 17:41:58 · 3638 阅读 · 4 评论 -
springboot接收from-data参数为空解决办法。
有时候我们传的参数很大,比如图片转成的base64字符,如果普通传参肯定会报错,可以把这种参数放在from-data的body里面,我们JAVA后台需要接收from-data的参数。public ReturnModel fromDateTest(HttpServletRequest request){ ReturnModel returnModel = new ReturnMod...原创 2020-04-13 11:00:01 · 6161 阅读 · 0 评论 -
springboot集成rabbitmq手动AKC机制
场景:rabbitmq 服务器宕机时有消息正在处理,此时消息未处理完成,但是也没报错,再次启动MQ该消息消失解决办法:手动ACK手动ACK:但我们的业务完成的时候手动告诉队列已经完成,如果没告诉队列,该消息会一直存放在队列中。channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); 告诉队列已经消费完成...原创 2020-04-09 17:55:37 · 678 阅读 · 0 评论 -
springBoot rabbitMQ 死信队列
假设一种场景:当我们生产者发送了错误的参数,或者消费者这边处理的时候抛出异常,然后这条消息会被重新放入队列中再次分发给消费者进行消费,这样子会造成一个死循环报错,十分影响性能和服务器资源。简单的解决办法:直接try cath,报错以后消息直接丢失比较好的解决办法:创建一个队列,用来处理抛出异常的消息。// 首先声明死信队列@Bean("redirectQueue")public Queu...原创 2020-04-09 17:46:58 · 775 阅读 · 0 评论 -
redis批量删除
因为我们的一些不经常更新的数据存储在redis中,但是近些天有个需求就是可能会修改一些数据,但是redis缓存的时间还没到期,需要进行删除,于是就有了这个模糊匹配删除的功能。 public String delRedis(String prex){ //判断参数是否为空,如果为空去进行模糊匹配的话会匹配的该库中的所有key //会删除所有,这一块一定要加判断 ...原创 2020-04-09 14:35:54 · 410 阅读 · 0 评论 -
关于java.io.IOException: Broken pipe解决办法。
关于java.io.IOException: Broken pipe解决办法。先了解一下 java.io.IOException: Broken pipepipe是管道的意思,管道里面是数据流,通常是从文件或网络套接字读取的数据。 当该管道从另一端突然关闭时,会发生数据突然中断,即是broken场景:我们平台(简称A)调用其他小组平台(简称B平台)调用方式:httpclient post请...原创 2020-01-06 16:47:59 · 98110 阅读 · 3 评论 -
前后台分离之跨域处理
这几天公司用的项目是前后台分离(VUE+springboot),然后就遇到了跨域的问题,跨域问题也不是第一次遇到了,所以这里就把解决方案给记录下来。首先先了解一下什么是跨域:跨域是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,或是a页面为ip地址,b页面为域名地址,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。解决方...原创 2019-12-17 17:05:39 · 322 阅读 · 0 评论 -
SpringBoot+MyBatisPlus整合读写分离
大家后,今天在用MybatisPlus(一下简称MP)的时候报了一个错误,一直是找不到mapper层中的快捷方法,比如insert,delete等。找了好几个小时都没找到,各个配置文件都没问题,但是就是找不到mapper层的封装方法,最后才知道是因为配置了读写分离,用的sql工厂部署mybatisplus的。然后就想要记录一下这个错误,顺便和大家分享一下。首先看一下配置文件:yml...原创 2019-11-20 14:10:50 · 995 阅读 · 3 评论