随笔分类 -  Web

摘要:1. 问题背景 上周线上某模块出现锁等待超时,如下图所示: 我虽然不是该模块负责人,但出于好奇,也一起帮忙排查定位问题。 这里的业务背景就是在执行到某个地方时,需要去表中插入一批数据,这批数据需要根据数据类型分配流水号。这与我的 "select for update引发死锁分析" 提到的流水号分配差 阅读全文
posted @ 2018-04-14 14:39 活在夢裡 阅读(4629) 评论(3) 推荐(1)
摘要:线上发现执行某特定任务在某个特定时间点后不再work。该任务由线程池中线程执行定时周期性调度,根据日志查看无任何异常。从代码研判应该无关定时任务框架,因为对提交的定时任务做了wrap,会将异常都catch住,保证下次仍然能够正常调度。 通过jstack导出堆栈信息,发现问题线程的堆栈信息如下: "O 阅读全文
posted @ 2018-03-20 20:56 活在夢裡 阅读(4252) 评论(1) 推荐(0)
摘要:本文针对MySQL InnoDB中在Repeatable Read的隔离级别下使用select for update可能引发的死锁问题进行分析。 1. 业务案例 业务中需要对各种类型的实体进行编号,例如对于x类实体的编号可能是x201712120001,x201712120002,x20171212 阅读全文
posted @ 2017-12-22 00:42 活在夢裡 阅读(49986) 评论(1) 推荐(11)
摘要:什么是tmux tmux全称terminal multiplexer,是一个终端复用软件。它可以帮助我们方便地管理多个终端会话。 下面介绍tmux中涉及到的一些名词 window 窗口 pane 窗格(面板) session 会话 如何使用tmux 安装tmux 对于安装tmux,因为不同系统安装方 阅读全文
posted @ 2016-07-13 00:52 活在夢裡 阅读(806) 评论(0) 推荐(0)
摘要:主要原因在于Spring MVC无法解析WelcomeFileList中的静态HTML,因为没有对应的mapping。 当时的解决方案是在mvc的配置文件中加入 可以参考这篇博客,其实还有其他的解决方案,其他的没验证过。 阅读全文
posted @ 2016-06-01 22:38 活在夢裡 阅读(565) 评论(0) 推荐(0)
摘要:首先在tomcat的目录下找到tomcat-users.xml文件。 在文件的最下方添加两行如下代码,即可生成一个密码为admin,账户名为admin的账户,可以从tomcat主页面中进入管理界面 阅读全文
posted @ 2016-05-09 02:10 活在夢裡 阅读(1060) 评论(0) 推荐(0)
摘要:通过Homebrew安装 启动tomcat 使用浏览器访问http://localhost:8080/ 正常结果会出现如下页面表示成功。 阅读全文
posted @ 2016-04-13 16:35 活在夢裡 阅读(318) 评论(0) 推荐(0)