java
文章平均质量分 54
weixin_48484941
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
springboot 实现nginx代理功能,兼容https跳转
1、引入maven依赖 <dependency> <groupId>org.mitre.dsmiley.httpproxy</groupId> <artifactId>smiley-http-proxy-servlet</artifactId> <version>1.12.1</version> </dependen原创 2022-04-28 15:02:19 · 3347 阅读 · 0 评论 -
自用线程池工具类
BatchOperationThreadTaskUtil 主要工具类@Componentpublic class BatchOperationThreadTaskUtil { private static final Logger log = LoggerFactory.getLogger(BatchOperationThreadTaskUtil.class); /** * 同业务最大线程上限,防止超过连接数 */ private static final原创 2021-01-27 17:51:22 · 227 阅读 · 0 评论 -
activiti 修改历史流程图修改节点
背景:在走流程过程中选择处理人提交之后。后台报错。意思类似找不到el表达式为${singleAssignee}。由于是历史流程图。故无法校验是否节点配置错误。故查到历史流程图的xml内容。1、已知instanceId。查表act_ru_task,得PROC_DEF_ID:reportChangeDetail:13:87725902、已知PROC_DEF_ID,查表act_re_procdef,得DEPLOYMENT_ID:87725013、已知DEPLOYMENT_ID与PROC_DEF_ID原创 2021-01-15 15:56:09 · 1780 阅读 · 0 评论 -
redis事务中setIfAbsent无法及时返回true或false,返回null
代码如下,现需要批量处理业务,为了防止一条数据被多次处理,故缓存到redis中。又因可以同时操作多条数据,故考虑用redis事务,当其中一个已被其他人处理中时,之前设置的也全部回滚。但实际过程中 redisOperations.opsForValue().setIfAbsent();并非返回true或false。需要等到exec时才能获取返回值。故一下做法就无效了,需要换一种实现方式。 RedisTemplate redisTemplate = RedisUtils.getRedisTemplate()原创 2021-01-05 14:04:30 · 7616 阅读 · 0 评论 -
Memory Analyzer分析尝试
1、使用jdk自带jvisualvm,dump一下快照。2、下载Memory Analyzer。3、打开快照。原创 2020-12-21 14:00:28 · 119 阅读 · 0 评论 -
记一次并发锁超时排查
背景:用户需求需要批量走流程,但单线程走流程速度比较慢,10条的话需要花费10倍的时间,故改成多线程模式;改成多线程模式之后遇到多种bug;1、处理完成之后,刷新页面,流程数据还没保存完成导致刷新页面错误解决方法:主线程延迟500ms 返回。2、jpa方式下,并且主线程等待子线程完成之后返回。会导致子线程里面修改的值被主线程覆盖掉。伪代码例子:public class A{ @Autowired private B b; public test(id){ b.test(id); ne原创 2020-12-11 15:36:48 · 1709 阅读 · 0 评论 -
mysql查询like in
背景:数据库字段存放的值采用逗号拼接。例如:“a,b,c,d”有一个需求,需要查询部门数据,即该字段包含部门下任意一个人员就要查出来。所以逻辑类似like in 操作。通过百度,找到一个函数FIND_IN_SET();例子:FIND_IN_SET(“a”,“a,b,c,d”);即在第二个参数中匹配到第一个参数,则查出来。SELECT * from business_table t,person p WHERE p.dept_id = ‘D1’ AND FIND_IN_SET(p.id,t.pers原创 2020-12-02 15:45:29 · 1160 阅读 · 0 评论 -
线程池批量处理业务,一条报错全部回滚
1、主要代码@Componentpublic class BatchOperationThreadTaskUtil { //工具类静态执行 private static PlatformTransactionManager transactionManager; //此属性只是为了动态赋值给上面的属性 @Autowired private PlatformTransactionManager remoteTransactionManager; private st原创 2020-12-11 15:35:07 · 936 阅读 · 0 评论 -
spring aop 注解打印日志
spring aop 注解打印日志@Component@Aspectpublic class ControllerLogAspect { private static Logger logger = LoggerFactory.getLogger(ControllerLogAspect.class); @Pointcut("execution(* com.hhh.framework..*.controller..*.*(..))") public void pointCu原创 2020-12-11 15:43:30 · 145 阅读 · 0 评论 -
Bean和Map互转
import org.apache.commons.collections.MapUtils;import org.apache.commons.lang3.math.NumberUtils;import org.apache.poi.ss.formula.functions.T;import javax.persistence.Column;import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.原创 2020-12-11 15:42:11 · 599 阅读 · 0 评论
分享