摘要:
故事的开头总是这样,适逢其会,猝不及防;故事的结局总是这样,花开两朵,天各一方。 曾经,我坚信,遗憾比失败更可怕,如今,我发现,遗憾和失败我都无法承受,不是因为我付出了太多,而是因为真心没有被认真对待过。 我难过,我嫉妒,有种深情,你从未给过我。你是我心中永远的痛,解不开的心结。 至今,我依然清楚的 阅读全文
摘要:
生产环境,一个简单的事务方法,提交失败,报 Global lock wait timeout 伪代码如下: @GlobalTransactional(rollbackFor = Exception.class,timeoutMills = 30000,lockRetryInternal=3000,l 阅读全文
摘要:
首先,考虑下面这样一个流程图 主要的流程定义如下: <process id="demo" name="demo" isExecutable="true"> <startEvent id="sid-aee4f5b6-6b26-423d-85c3-499659fb523b"/> <manualTask 阅读全文
摘要:
https://www.oracle.com/java/technologies/ https://www.oracle.com/java/technologies/downloads/archive/ https://www.oracle.com/java/technologies/javase/ 阅读全文
摘要:
1. Git 对象 Git 的核心部分是一个简单的键值对数据库。可以向 Git 仓库中插入任意类型的内容,它会返回一个唯一的键,通过该键可以在任意时刻再次取回该内容。 所有内容均以树对象和数据对象的形式存储,其中树对象对应了 UNIX 中的目录项,数据对象则大致上对应了 inodes 或文件内容。一 阅读全文
摘要:
众所周知,request.getInputStream()只能调一次。如果希望在请求进入Controller之前统一打印请求参数(拦截器或过滤器),又不影响业务,我们只能将获取到的输入流缓存起来,后续都从缓存中获取即可。 首先,自定义一个ServletInputStream package com. 阅读全文
摘要:
Spring提供的事务使用起来很方便,一个@Transactional注解就搞定全部,但是如果不注意,也会踩坑 提到事务就应该想到至少以下几点: 1、在事务方法中加锁,可能会导致锁失效 无论是Java自带的锁,还是分布式锁,都有可能出现没锁住的情况 原因是解锁先于事务提交,一旦锁释放后其它线程就可以 阅读全文
摘要:
最近做票据系统,在此做一个总结。下面从几个关键点逐一来阐述。 1. 库存 通俗地讲,票据系统的主要功能是出票、买票、卖票。买卖双方之间的交易就形成了票据的流转。这个过程中,票是最关键的元素。票据库存是整个票据系统的核心,所有业务最终都是对库存进行操作。对应有出库、入库操作。 交易类的库存操作是在结算 阅读全文
摘要:
业务背景 跟第三方系统做对接,双方通过ActiveMQ进行通信,消息之间是有内在关联的,也就是消息本来应该是有业务顺序的,但由于一些原因,现在收到消息是乱序的,这种情况下做业务处理就有一点小问题了 方案一:自己重排序 收到消息后,自己在内存排序,然后按顺序丢到队列中,自己控制消息的发送和接收保证收到 阅读全文
摘要:
两个字段: pid:父级ID parent_ids:所有经过的路径节点ID 这样设计有个好处是,可以查任意节点的所有子节点,从任意节点开始既可以向上查,也可以向下查 select * from enterprise where find_in_set(4, parent_ids); 构造菜单树(Ja 阅读全文