自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(19)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 springboot项目版本升级

springframework springcloud quartz swagger feign升级至版本

2022-04-11 13:43:39 4593

原创 lettuce重连后业务中断,没有异常抛出ConnectionWatchdog - Reconnecting, last destination was

记录 线上业务中使用springboot的默认redis连接,当收到业务请求时最后打印日志:[INFO ] 10:31:45.303 [lettuce-eventExecutorLoop-1-38] i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was redis-service/XX.XXX.XXX.XXX:6379[INFO ] 10:31:45.329 [lettuce-nioEventLoo..

2021-01-11 16:49:07 9302 1

原创 spring gateway 动态路由学习笔记和基础加载流程

前提:因为工作需要,想要搞一个动态代理,本来想用nginx定时跑脚本的方式,不过lua脚本的学习成本略高,同事提醒要不用gateway,正好学习成本能低些,也可以成体系,好控制。 略过趟坑,官网学习,百度(90%时间)等,发现能在一个地方全部解决问题的地方基本没有,只能一边尝试一边自己拼凑。这里吐槽一下官网,只有静态路由方式配置的讲解,完全没讲怎么扩展,更麻烦的是中文官网的翻译着实看不懂。 talk is cheap,show me the request.先说我的需求,vnc请...

2020-09-30 14:47:42 587

原创 记录由FastJSON和lombok的Accessors标签引起的反序列化的坑

坑: 如果父类Bean使用Accessors标签,子类在JSON反序列化时不会填充父类的属性。原因:Accessors 标签生成的set方法有两种,chain模式是setXXX,返回值为this;fluent模式是XXX(),返回值为this。 两种方式返回值都是父类对象而不是子类对象。 在JSON.parseObject()方法中,会使用反射找到目标类的set方法,然后使用set方法进行值填充,那怎么判断是不是set方法呢,他规定了几个不是set方法的判断:1.方法名大于...

2020-07-14 18:32:33 1062 1

原创 使用RestTemplate 请求,接口返回400+或500+不抛出异常的方法

使用RestTemplate请求其他服务的时候,经常会遇到返回401,404,400,或者由于业务逻辑报500等情况,这种时候RestTemplate会报异常RestClientException,所以代码里面就必须catch异常再继续走逻辑,非常麻烦。 这种情况多了就想让他不报错,因为返回的ResponseEntity中已经有了返回码,返回头和返回体的全部信息,可以自己处理这些...

2019-05-27 14:25:46 26088 2

原创 springboot 自定义JMSListener.destination

  情景:     项目在组内开发人员电脑上经常跑本地,activemq的队列名写在配置文件上。由于代码分支不一样,导致消息经常被不正常得消费掉。想要改进这个问题,最简单的是将注解@JMSListener 改为动态加载监听BEAN,但是大家不想为了这个事改变开发习惯,所以定为动态修改入队和监听的地址。  开始工作:    从JMSListener注解入手,注释中提到了JmsListen...

2019-01-21 16:43:08 4367 1

原创 一个特二的事,有关mybatis的数据源

要弄一个springboot + mybatis的多数据源。配置什么的都弄好了,程序启动没问题了,但是一直连不到数据库,BindingException,说我有Invalid bound statement (not found),我就纳闷了,明明启动过程还很和谐啊。万事debug一下启动过程吧,datasource bingo,sessionfactory bingo,sessiontemple...

2018-05-02 00:54:42 190

原创 一个纯的java-redis锁,因为有更好的,暂时就只记录一下

找了很长时间,左试右试的搞了一个redis锁出来,但是被一个更好的方案取代了,有点郁闷,在此记录一下。开始是因为redis的操作原子性问题,没有用redis自带的key过期,因为setnx 和expire是两个方法,无法保持强一致性,在高并发时候是致命的。而且保留着对redis的自带过期的不信任(这里补充一下,查了资料后发现redis的自带过期还是不错的,两种过期方式,一个是在get的时候判断

2018-01-15 10:15:50 1059

原创 记录一个iscroll的坑吧

闲话少叙:tab开头。一个bug,在部分安卓机器上,微信浏览器打开我们的页面点击了没反应。然后开始各种试,各种不同的绑定方法,bind on delegate 什么的,各种点击 tap itap click 什么的,全都不行,最后试出来touchEvent倒还绑得上,差点我就要自己用touch拼click事件了。结果寻访高人,一针见血戳到了问题所在。第一个怀疑:是不是点击时间穿透了。很

2016-08-05 10:58:48 523

原创 上楼一次走一节还是两节楼梯,走法计算思路

面试又露怯一回,别的就不说了,每次走一或两节楼梯的问题,可以漏了大怯了:有N节楼梯,每次可以走1节或者2节,总共有几种走法,写出计算程序。本能的来说我想到了这题肯定要递归的,可是想了想不知道怎么递归比较好,所以放弃了该用归纳数据的方法。别的啥也不说了先说说我的错误答案,将楼梯的最下层拿掉两层,也就是后面所有的方法减掉了11 20 两种选择,所以就按照这个思路进行计算,最后判断取模余0还是1。首

2016-06-24 23:31:02 3802 1

原创 刚刚看了腾讯优化安卓安装包大小的文章,感触颇深

文章链接[腾讯内部干货分享]分析Dalvik字节码进行减包优化有时候写完的程序不知道怎么才能优化,但是还有优化的指标,没办法只能硬着头皮乱改一气。结果有的时候,改完发现全是什么添加的注释啊,改的方法名啊编码规范什么的。其实优化不应该是任务,而应该是问题,哪个环节出现在瓶颈,限制了速度或其他使用等问题才需要优化,而优化的具体方法也应该从这些方面入手。比如文章里写的,要减小安卓安装包的大小

2016-06-23 10:39:58 638

原创 和sails战斗的过程,被打败了

因为用express的话现在好多中间件都分离出去了,而且其他中间件也还的自己去找,索性想用sails了,但是sails这东西可是弄死我了。之前因为电脑上装了sails所以想直接运行sails new XXX生成一个工程。没想到直接就报错了……先是说你的npm版本太高,需要<=3.0,要不然下载依赖包会变慢,而且安装完可能需要npm install再重新装。这个直接就忽略了,慢点没事可以等等。这

2016-06-07 16:50:34 222

原创 js&nbsp;正则中?=的匹配

问题:正则中?=的匹配" TITLE="js 正则中?=的匹配" />匹配结果:[a 和 =339。为什么不能给前面的[和=去掉呢,明明后面的就去掉了。一番百度谷歌之后好像有点懂了,?=意思是不保留匹配,也就是匹配之后原字符转是不变的,继续按照正则表达式向后匹配,当后面的字符全不要了的时候(也就是]及之后),那已经保留的目的串中没有该字符。而前面的[,由于后面的匹配还可以包含他,所以

2016-06-06 09:43:01 264

原创 mongoose里的model好神奇,会自动…

mongoose里在model到数据库的时候,真气人啊,你设置的model名结尾必须是s,如果不带s那么实际数据库中的model他会自己给你带一个,比如:mongoose.model('aaa',UserSchema)数据保存之后,你去查db.aaa.find()就没有数据,而查db.aaas.find()就有;再有mongoose.model('aas',UserSchema)保存数据之后呢

2016-06-06 09:42:58 1352 1

原创 Cast&nbsp;to&nbsp;ObjectId&nbsp;…

因为mongo的自生Id“_id”是有规则的,所以cast的时候可能会报这个错,所以在提交查找前最好先检查一下是否符合规则if(id.match(/^[0-9a-fA-F]{24}$/)),只有24位字符。另外,我页面里embed的src还带来了个小问题,因为是从url最后一位获得的id,src乱填的话也会找最近的路由造成这种情况,所以首先得match一下过滤掉,并且尽量规范使用数据。

2016-06-06 09:42:56 164

原创 两个android警告

解决Handler 内存泄露警报问题:将回调函数的重载作为new Handler的参数:new Handler(new Handler.Callback() {@Overridepublic boolean handleMessage(Message msg) {return false;}});解决android下SimpleDateFormat 国际化参数报错问题:Si

2016-06-06 09:42:30 136

转载 转“近期nodejs-web开发的一些总结”,大家都差不多

在基本没什么压力的情况下,慢慢悠悠学node将近两月,虽然项目还没做太熟,但是学东西的思路基本就是这样了,还是会写文章好啊,可惜不会

2016-06-01 10:59:01 2083

原创 帮同事弄git的趣事

下午海淘pc网站突然不能下单了,问完才知道之前的回滚不完全,也不知道为啥没回滚完全。it那边就烦了“别叫我们回滚了,一会滚滚的就远了”。所以只能我们回滚git master然后提交重走正常上线流程。然而,git回滚的时候有了问题,用的sourcetree,线很乱分支很多,直接回滚master报错。尝试先将分支回滚,然后在回滚master,试了下是可以的,但是因为分支众多而且每个分支很多次提交,

2016-05-25 17:14:02 208

原创 Promise.all解决异步条件的收敛

大致情况是我有异步的方法,放到一个promise then中,但是这个方法里还需要有不定数量的数据库请求,因为速度关系需要异步处理。在查了一个晚上到底怎么办之后,发现了.all() 和.spead()两个方法,权衡之后尝试使用.all()解决。因为问题是判断某数值是否为空,为空的话就进行请求,在前台来说ajax就可以解决,后台的话就像一个线程衍生出好多线程,然后将这些线程的结果都收敛起来。按照

2016-05-25 11:06:58 609

OpenStack Restful-api中文版.doc

openstack restful API 中文版 简单易用,可以直接postman调用

2019-05-26

JNA 读写Rfid全工程

利用JNA开发RFID读写程序,读写器硬件为RRU9809,相关接口网上很多

2014-07-29

Flash AS3殿堂之路

以as3为例,主要讲解了面向对象基础和as3中的基本类型等入门知识,新手学习非常不错

2014-07-24

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除