摘要:
1. 依赖管理 依赖管理,可以将有关依赖项的所有信息放在共同的POM中,并对子POM中的工件进行更简单的引用。举个例子: 父POM <project> ...... <dependencyManagement> <dependencies> <dependency> <groupId>group-a 阅读全文
摘要:
关于票据系统设计在之前的博客中也聊过,今天做一个补充 1、架构 票据系统主要就是和票交所进行交互,围绕这一核心,我们把系统划分为三大部分,分别是:票据网关服务、票据业务服务、票据库存服务。 网关服务:对接票交所,负责和票交所的交互,主要是收发报文。 业务服务:负责票据业务的处理,比如出票、背书、贴现 阅读全文
摘要:
1. saveBatch能否提高插入的效率? 先说结论,saveBatch()方法也是一条一条的插入,也就是说它会产生多条insert语句,而不是一条insert语句,所以它不是真正的批量插入,更不能提高插入效率。 看看代码就全明白了 从代码看,循环一条一条的插入,每次都是一个sqlSession. 阅读全文
摘要:
生产环境,一个简单的事务方法,提交失败,报 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. 库存 通俗地讲,票据系统的主要功能是出票、买票、卖票。买卖双方之间的交易就形成了票据的流转。这个过程中,票是最关键的元素。票据库存是整个票据系统的核心,所有业务最终都是对库存进行操作。对应有出库、入库操作。 交易类的库存操作是在结算 阅读全文