- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 java编程遇到的几点坑
先看下面的一段代码原list有2个元素,先subList成一个新List,然后两个list分别删除元素,表面上看两个没问题,其实会抛异常。
2024-07-09 20:13:19
196
原创 Spring事务,异常catch住了,方法执行完了,数据库仍然回滚了
想当然地以为即使bService.doSomething抛了异常,只要catch住不外抛,就不会影响deal的事务提交。方法执行完后,仍然抛了个异常描述为。因为deal方法与a,bservice代码的执行总共只创建了一个事务,当里层事务出错后,会标记了事务需要回滚,里层事务与外层事务为同一个事务,所以deal方法也会回滚。将里层事务独立出来即可。里面事务如果抛异常,其方法仍然能保持一个原子事务。只要catch住异常,不影响外部事务的提交。两个doSomething方法都加了默认的事务。
2024-05-15 21:57:15
718
1
原创 idea正则获取变量与列编辑
1. 要学会使用正则表达式在idea中选取文本,正则表达式不会可以现学,要知道idea有这种能力。2. 学会使用列模式,在很多工具里都有,如notepad++, UE, vi等。
2024-02-28 17:22:27
460
1
原创 使用stack查找审批流中的当前处理节点
在审批的过程中,如果到了最后一步,发现问题,要一步步回退,在回退的过程中,如何找到需要回退的节点。这里需要把执行过的记录都记录到已办列表,每一条数据就是一个节点执行的记录。这个过程,是不是就像一个栈,我们可以使用stack来查找下一步处理节点。3、极端情况下流程可以按不同的路径来来回回审批退回好几次。2、流程的节点可以跳跃,往回查找时,就不能按照序号了。当前工作中需要手动实现一个简易的审批流,如下。1、 流程是一个有序图,可以按照序号往回查找。
2024-01-17 11:43:58
369
原创 模板方法模式简化代码复用代码
平时工作中,我们会有不少地方会使用到模板方法模式。它既可以简化们的代码,也可以规范我们的代码逻辑、约束我们的编码范围。是一个面向接口编程的好例子.来看看我们的例子,主要场景以网管监控系统补偿数据场景来展开。简单看下spec1、A系统监控B、C系统,B、C系统分别有BBiz与CBiz的业务2、B、C系统通过kafka上报配置,状态,告警变更给A系统3、A系统更新业务数据,并分析告警,状态等通知给平台其它系统。
2024-01-04 11:38:39
376
1
原创 从jeecg开源代码看泛型类型擦除之妙用
看代码与输出可以看出类型已被擦除,泛型不匹配或不指定只会产生编译告警,并不会产生编译错误,更不会运行错误。
2023-12-26 10:54:27
536
1
原创 监听器模式之从函数式编程到Spring bean注入
从上一篇“java函数式编程”已经了解到函数式编程也能做到依赖反转,也已经清晰的看到了监听器模式的编码方式。下面我们看看这种监听器模式可以有几种写法。我们以流程引擎处理流程为例。
2023-12-25 11:43:25
433
原创 java自定义函数
在有些场景中jdk(8)自带的函数可能不满足要求,需要自己定义函数。例如,我们在与第三方通讯的时候,需要做一些前置与后置操作这些操作可能有:1、添加全局流水号。如果使用线程变量的话,进入时set, finally时remove2、记录日志。进入时记录初始时间,finally时记录返回码与耗时我们可能就需要一系列的before消费者来消费入参t, 一系列对应的after消费者来消费t,r,ex消费t比较好定义,如我们就可以在需要的地方请阅这个send方法,插入前置处理。
2023-12-21 20:41:24
709
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人