记录一下工作中遇到的mysql死锁问题,防止后面再踩坑。 #多索引多线程更新发生死锁 问题描述数据库索引是这样的 多线程执行的sql 是这样的 update indicator set result='1' where fk_indicator_id=? and fk_indica ...
Java程序优雅的退出
背景最近收到一个新需求,需要充kafka队列中那消息解析写到es中。要求不能漏写数据,或者重复写数据。‘ 问题如果程序中途需要手动停止,就需要把已经从kafka中拿到的数据,写进了es 才能停止程序。否则就会漏写数据或者重复写入数据 解决钩子函数ShutdownHook只是一个已初始化但为启动的线程 ...
使用shiro来管理权限
前言最近公司我负责的一个服务(spring-boot spring-could)需要在接口级别做权限控制,本来想着是在controller层加上注解,再通过切面(aop)来实现。后来发现网上有现成的框架spring shiro 以及spring security。某位大佬曾经说过:不要重复造轮子。本 ...
spring Bean创建流程及扩展点
springBean创建流程 扩展点ImportBeanDefinitionRegistrar 与ImportSelector实现接口可以添加自定义的beanDefinition,例: @Componentpublic class RpcClientSelector implements Impor ...
记一次mysql分页问题
前言都知道mysql分页使用limit这个关键字来进行的,但今天使用这个关键之进行分页点时候出现了点问题,有些记录没有查到,有些记录在上一页出现之后,翻下一页又出现了。 问题分析单独使用limit这个关键字是没有问题的,加上order by 这个关键字之后排序就会出现上述问题,猜想order by ...
es学习笔记-基础篇
索引–保存相关数据的地方,实际上是指向一个或者多个物理分片的逻辑明名空间。 集群内的原理es支持垂直扩容,水平扩容,但是垂直扩容是有极限的,真正的扩容能力来自于水平扩容(为集群添加更多的节点,并将负载及稳定性型分散到这些节点中) 一个运行中的es实例称为一个节点,集群就是由多个拥有相同cluster ...
JanusGraph学习笔记
jansusgraph是一款分布式开源图数据库。 JanusGraph Server使用默认的数据库及搜索引擎配置:bin/janusgraph.sh start 自定义存储及搜索引擎:bin/gremlin-server.sh ./conf/gremlin-server/gremlin-serve ...